|
@@ -37,7 +37,20 @@ class Response(object):
|
|
|
try:
|
|
|
self.mini_program_type = self.params['miniprogramUseType']
|
|
|
self.trace_id = self.params['traceId']
|
|
|
- return None
|
|
|
+ if self.mini_program_type in [
|
|
|
+ server_const.DAILY_CODE,
|
|
|
+ server_const.TOULIU_CODE,
|
|
|
+ server_const.WECOM_CODE,
|
|
|
+ server_const.DAITOU_CODE,
|
|
|
+ server_const.COOPERATION_CODE
|
|
|
+ ]:
|
|
|
+ return None
|
|
|
+ else:
|
|
|
+ return {
|
|
|
+ "error": "params error",
|
|
|
+ "message": "mini_program_type error",
|
|
|
+ "info": self.params
|
|
|
+ }
|
|
|
except Exception as e:
|
|
|
return {
|
|
|
"error": "params error",
|
|
@@ -82,21 +95,24 @@ class Response(object):
|
|
|
return hashlib.md5(hash_input.encode()).hexdigest()
|
|
|
|
|
|
root_share_id = str(uuid.uuid4())
|
|
|
- if self.mini_program_type == 2:
|
|
|
- source_id = (
|
|
|
- "touliu_tencentGzhArticle_{}_".format(gh_id) + generate_source_id()
|
|
|
- )
|
|
|
- elif self.mini_program_type == 1:
|
|
|
- source_id = "longArticles_" + generate_source_id()
|
|
|
- elif self.mini_program_type == 3:
|
|
|
- source_id = "WeCom_" + generate_source_id()
|
|
|
- elif self.mini_program_type == 4:
|
|
|
- source_id = "DaiTou_{}_".format(gh_id) + generate_source_id()
|
|
|
- else:
|
|
|
- source_id = "Error mini_program_type {}".format(self.mini_program_type)
|
|
|
+
|
|
|
+ match self.mini_program_type:
|
|
|
+ case server_const.DAILY_CODE:
|
|
|
+ source_id = "{}_{}".format(server_const.DAILY_PREFIX, generate_source_id())
|
|
|
+
|
|
|
+ case server_const.TOULIU_CODE:
|
|
|
+ source_id = "{}_{}_{}".format(server_const.TOULIU_PREFIX, gh_id, generate_source_id())
|
|
|
+
|
|
|
+ case server_const.WECOM_CODE:
|
|
|
+ source_id = "{}_{}".format(server_const.WECOM_PREFIX, generate_source_id())
|
|
|
+
|
|
|
+ case server_const.DAITOU_CODE:
|
|
|
+ source_id = "{}_{}_{}".format(server_const.DAITOU_PREFIX, gh_id, generate_source_id())
|
|
|
+
|
|
|
+ case server_const.COOPERATION_CODE:
|
|
|
+ source_id = "{}_{}".format(server_const.COOPERATION_PREFIX, generate_source_id())
|
|
|
+
|
|
|
url = f"pages/user-videos?id={video_id}&su={shared_uid}&fromGzh=1&rootShareId={root_share_id}&shareId={root_share_id}&rootSourceId={source_id}"
|
|
|
- # 自动把 root_share_id 加入到白名单
|
|
|
- # auto_white(root_share_id)
|
|
|
return (
|
|
|
root_share_id,
|
|
|
source_id,
|
|
@@ -155,86 +171,56 @@ class Response(object):
|
|
|
"""
|
|
|
gh_id = result['gh_id']
|
|
|
response = json.loads(result['response'])
|
|
|
- long_articles_mini_program_id = 25
|
|
|
- touliu_mini_program_id = 33
|
|
|
- we_com_mini_program_id = 27
|
|
|
- daitou_mini_program_id = 25
|
|
|
- match self.mini_program_type:
|
|
|
- case 1:
|
|
|
- L = []
|
|
|
- new_item_list = []
|
|
|
- for index, item in enumerate(response, 1):
|
|
|
- card, new_item = await self.generate_single_card(index, gh_id, long_articles_mini_program_id, item)
|
|
|
- L.append(card)
|
|
|
- new_item_list.append(new_item)
|
|
|
- return L, new_item_list
|
|
|
- case 2:
|
|
|
- L = []
|
|
|
- new_item_list = []
|
|
|
- for index, item in enumerate(response, 1):
|
|
|
- card, new_item = await self.generate_single_card(index, gh_id, touliu_mini_program_id, item)
|
|
|
- L.append(card)
|
|
|
- new_item_list.append(new_item)
|
|
|
- return L, new_item_list
|
|
|
- case 3:
|
|
|
- L = []
|
|
|
- new_item_list = []
|
|
|
- for index, item in enumerate(response, 1):
|
|
|
- card, new_item = await self.generate_single_card(index, gh_id, we_com_mini_program_id, item)
|
|
|
- L.append(card)
|
|
|
- new_item_list.append(new_item)
|
|
|
- return L, new_item_list
|
|
|
- case 4:
|
|
|
- L = []
|
|
|
- new_item_list = []
|
|
|
- for index, item in enumerate(response, 1):
|
|
|
- card, new_item = await self.generate_single_card(index, gh_id, daitou_mini_program_id, item)
|
|
|
- L.append(card)
|
|
|
- new_item_list.append(new_item)
|
|
|
- return L, new_item_list
|
|
|
+ card_list = []
|
|
|
+ new_item_list = []
|
|
|
+ for index, item in enumerate(response, 1):
|
|
|
+ card, new_item = await self.generate_single_card(index, gh_id, server_const.DEFAULT_APP_ID, item)
|
|
|
+ card_list.append(card)
|
|
|
+ new_item_list.append(new_item)
|
|
|
+ return card_list, new_item_list
|
|
|
|
|
|
async def job(self):
|
|
|
"""
|
|
|
执行方法
|
|
|
:return:
|
|
|
"""
|
|
|
- response = await self.get_videos_result()
|
|
|
- status_code = response.get('content_status')
|
|
|
- process_times = response.get('process_times')
|
|
|
+ video_result = await self.get_videos_result()
|
|
|
+ status_code = video_result.get('content_status')
|
|
|
+ process_times = video_result.get('process_times')
|
|
|
match status_code:
|
|
|
- case 0:
|
|
|
+ case server_const.TASK_INIT_CODE:
|
|
|
if process_times > server_const.TASK_MAX_PROCESS_TIMES:
|
|
|
result = {
|
|
|
"traceId": self.trace_id,
|
|
|
- "code": 0,
|
|
|
- "error": "匹配失败,处理超过 3 次"
|
|
|
+ "code": server_const.TASK_INIT_CODE,
|
|
|
+ "error": "匹配失败,处理超过{}次".format(server_const.TASK_MAX_PROCESS_TIMES)
|
|
|
}
|
|
|
else:
|
|
|
result = {
|
|
|
"traceId": self.trace_id,
|
|
|
- "code": 0,
|
|
|
+ "code": server_const.TASK_INIT_CODE,
|
|
|
"message": "该请求还没处理"
|
|
|
}
|
|
|
return result
|
|
|
- case 1:
|
|
|
+ case server_const.TASK_KIMI_FINISHED_CODE:
|
|
|
return {
|
|
|
"traceId": self.trace_id,
|
|
|
- "code": 1,
|
|
|
+ "code": server_const.TASK_KIMI_FINISHED_CODE,
|
|
|
"message": "已经执行完kimi"
|
|
|
}
|
|
|
- case 2:
|
|
|
+ case server_const.TASK_SPIDER_FINISHED_CODE:
|
|
|
return {
|
|
|
"traceId": self.trace_id,
|
|
|
- "code": 2,
|
|
|
+ "code": server_const.TASK_SPIDER_FINISHED_CODE,
|
|
|
"message": "已经执行完爬虫"
|
|
|
}
|
|
|
- case 3:
|
|
|
+ case server_const.TASK_ETL_FINISHED_CODE:
|
|
|
return {
|
|
|
"traceId": self.trace_id,
|
|
|
- "code": 3,
|
|
|
+ "code": server_const.TASK_ETL_FINISHED_CODE,
|
|
|
"message": "已经执行完 etl"
|
|
|
}
|
|
|
- case 4:
|
|
|
+ case server_const.TASK_PUBLISHED_CODE:
|
|
|
# 修改任务状态为处理中
|
|
|
update_sql = f"""
|
|
|
UPDATE {self.article_match_video_table}
|
|
@@ -255,7 +241,7 @@ class Response(object):
|
|
|
"info": "并发任务抢占锁失败",
|
|
|
"message": "该 trace_id 正在处理中或者已经处理完成"
|
|
|
}
|
|
|
- card_list, new_items = await self.generate_cards(result=response)
|
|
|
+ card_list, new_items = await self.generate_cards(result=video_result)
|
|
|
update_sql = f"""
|
|
|
UPDATE {self.article_match_video_table}
|
|
|
SET response = %s, success_status = %s
|
|
@@ -274,34 +260,34 @@ class Response(object):
|
|
|
"traceId": self.trace_id,
|
|
|
"miniprogramList": card_list
|
|
|
}
|
|
|
- case 95:
|
|
|
+ case server_const.TASK_ILLEGAL_CODE:
|
|
|
return {
|
|
|
"traceId": self.trace_id,
|
|
|
- "code": 95,
|
|
|
+ "code": server_const.TASK_ILLEGAL_CODE,
|
|
|
"error": "该文章被kimi识别为高风险文章,不处理"
|
|
|
}
|
|
|
- case 96:
|
|
|
+ case server_const.TASK_BAD_CATEGORY_CODE:
|
|
|
return {
|
|
|
"traceId": self.trace_id,
|
|
|
- "code": 96,
|
|
|
+ "code": server_const.TASK_BAD_CATEGORY_CODE,
|
|
|
"error": "该文章品类不符合这个账号,不做冷启动处理"
|
|
|
}
|
|
|
- case 97:
|
|
|
+ case server_const.TASK_EXIT_CODE:
|
|
|
return {
|
|
|
"traceId": self.trace_id,
|
|
|
- "code": 97,
|
|
|
+ "code": server_const.TASK_EXIT_CODE,
|
|
|
"error": "该文章已经退场or晋级, 不再冷启处理"
|
|
|
}
|
|
|
- case 99:
|
|
|
+ case server_const.TASK_FAIL_CODE:
|
|
|
return {
|
|
|
"traceId": self.trace_id,
|
|
|
- "code": 99,
|
|
|
+ "code": server_const.TASK_FAIL_CODE,
|
|
|
"error": "该任务执行失败"
|
|
|
}
|
|
|
- case 101:
|
|
|
+ case server_const.TASK_PROCESSING_CODE:
|
|
|
return {
|
|
|
"traceId": self.trace_id,
|
|
|
- "code": 101,
|
|
|
+ "code": server_const.TASK_PROCESSING_CODE,
|
|
|
"message": "该任务正在执行中"
|
|
|
}
|
|
|
|
|
@@ -340,4 +326,4 @@ class Response(object):
|
|
|
},
|
|
|
api="recall_videos"
|
|
|
)
|
|
|
- return response
|
|
|
+ return response
|