getOffVideos.py 1.9 KB

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