|
|
@@ -12,16 +12,34 @@ import utils.params as DecodeWorkflowParam
|
|
|
|
|
|
logger.add(sink=sys.stderr, level="ERROR", backtrace=True, diagnose=True)
|
|
|
|
|
|
-def update_topic_result_by_id(param:DecodeWorkflowParam):
|
|
|
+def update_topic_result_by_id(param):
|
|
|
sql = "SELECT * FROM decode_workflow WHERE task_id = %s"
|
|
|
tasks = mysql.fetchone(sql, (param.task_id,))
|
|
|
if not tasks:
|
|
|
logger.info(f"task_id = {param.task_id} , 任务不存在")
|
|
|
return None
|
|
|
- result, status,error_reason,video_url,title = tasks['result'], tasks['task_status'],tasks['error_reason'],tasks['video_url'],tasks['title']
|
|
|
- sql = "UPDATE decode_workflow SET video_url = %s, task_status = %s, title = %s WHERE task_id = %s"
|
|
|
- mysql.execute(sql, (param.video_url, param.status, param.title, param.task_id))
|
|
|
- return result, status,error_reason,video_url,title
|
|
|
+ # 取旧值用于返回
|
|
|
+ result, status, error_reason, video_url, title = tasks['result'], tasks['task_status'], tasks['error_reason'], tasks['video_url'], tasks['title']
|
|
|
+ # 动态更新可传字段
|
|
|
+ fields = []
|
|
|
+ values = []
|
|
|
+ if getattr(param, 'video_id', None):
|
|
|
+ fields.append("video_id = %s")
|
|
|
+ values.append(param.video_id)
|
|
|
+ if getattr(param, 'video_url', None):
|
|
|
+ fields.append("video_url = %s")
|
|
|
+ values.append(param.video_url)
|
|
|
+ if getattr(param, 'title', None) is not None:
|
|
|
+ fields.append("title = %s")
|
|
|
+ values.append(param.title)
|
|
|
+ if getattr(param, 'task_status', None) is not None:
|
|
|
+ fields.append("task_status = %s")
|
|
|
+ values.append(param.task_status)
|
|
|
+ if fields:
|
|
|
+ sql = f"UPDATE decode_workflow SET {', '.join(fields)} WHERE task_id = %s"
|
|
|
+ values.append(param.task_id)
|
|
|
+ mysql.execute(sql, tuple(values))
|
|
|
+ return result, status, error_reason, video_url, title
|
|
|
|
|
|
|
|
|
def get_topic_result_by_id(task_id:str):
|