get_off_videos.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. """
  2. @author: luojunhui
  3. """
  4. import json
  5. import time
  6. class GetOffVideos(object):
  7. """
  8. 下架视频
  9. """
  10. def __init__(self, params, mysql_client, config):
  11. self.params = params
  12. self.mysql_client = mysql_client
  13. self.articles_video = config.articleVideos
  14. self.get_off_videos = config.getOffVideos
  15. self.trace_id = None
  16. def checkParams(self):
  17. """
  18. :return:
  19. """
  20. try:
  21. self.trace_id = self.params['traceId']
  22. return None
  23. except Exception as e:
  24. response = {
  25. "error": "params error",
  26. "info": str(e),
  27. "data": self.params
  28. }
  29. return response
  30. async def pushVideoIntoQueue(self):
  31. """
  32. 将视频id记录到待下架表中
  33. :return:
  34. """
  35. select_sql = f"""
  36. select response from {self.articles_video} where trace_id = '{self.trace_id}';
  37. """
  38. result = await self.mysql_client.asyncSelect(sql=select_sql)
  39. if result:
  40. video_list = json.loads(result[0][0])
  41. for video in video_list:
  42. video_id = video['videoId']
  43. try:
  44. update_sql = f"""
  45. INSERT INTO {self.get_off_videos}
  46. (video_id, publish_time, video_status, trace_id)
  47. values
  48. (%s, %s, %s, %s);
  49. """
  50. await self.mysql_client.asyncInsert(
  51. sql=update_sql,
  52. params=(video_id, int(time.time()), 1, self.trace_id)
  53. )
  54. except Exception as e:
  55. print(e)
  56. else:
  57. print("该 trace_id不存在")
  58. async def deal(self):
  59. """
  60. :return:
  61. """
  62. params_error = self.checkParams()
  63. if params_error:
  64. return params_error
  65. else:
  66. await self.pushVideoIntoQueue()
  67. response = {
  68. "status": "success",
  69. "traceId": self.trace_id
  70. }
  71. return response