1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- """
- @author: luojunhui
- """
- import json
- import time
- class GetOffVideos(object):
- """
- 下架视频
- """
- def __init__(self, params, mysql_client, config):
- self.params = params
- self.mysql_client = mysql_client
- self.article_match_video_table = config.article_match_video_table
- self.get_off_videos = config.get_off_video_table
- self.trace_id = None
- def check_params(self):
- """
- :return:
- """
- try:
- self.trace_id = self.params['traceId']
- return None
- except Exception as e:
- response = {
- "error": "params error",
- "info": str(e),
- "data": self.params
- }
- return response
- async def push_video_into_queue(self):
- """
- 将视频id记录到待下架表中
- :return:
- """
- select_sql = f"""
- select response from {self.article_match_video_table} where trace_id = '{self.trace_id}';
- """
- result = await self.mysql_client.async_select(sql=select_sql)
- if result:
- video_list = json.loads(result[0][0])
- for video in video_list:
- video_id = video['videoId']
- try:
- update_sql = f"""
- INSERT INTO {self.get_off_videos}
- (video_id, publish_time, video_status, trace_id)
- values
- (%s, %s, %s, %s);
- """
- await self.mysql_client.async_insert(
- sql=update_sql,
- params=(video_id, int(time.time()), 1, self.trace_id)
- )
- return {
- "status": "success",
- "traceId": self.trace_id
- }
- except Exception as e:
- return {
- "status": "fail",
- "traceId": self.trace_id,
- "msg": "insert fail---{}".format(e)
- }
- else:
- return {
- "status": "fail",
- "traceId": self.trace_id,
- "msg": "traceId error, can't find trace_id"
- }
- async def deal(self):
- """
- :return:
- """
- params_error = self.check_params()
- if params_error:
- return params_error
- else:
- return await self.push_video_into_queue()
|