preResponse.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. """
  2. @author: luojunhui
  3. 返回预分配信息
  4. """
  5. import json
  6. from static.config import db_article
  7. class PreResponse(object):
  8. """
  9. 预匹配处理
  10. """
  11. def __init__(self, params, mysql_client):
  12. """
  13. 输入trace_id, 返回trace_id所绑定的视频信息
  14. :param params:
  15. :param mysql_client:
  16. """
  17. self.trace_id = None
  18. self.params = params
  19. self.mysql_client = mysql_client
  20. def checkParams(self):
  21. """
  22. 校验参数
  23. :return:
  24. """
  25. try:
  26. self.trace_id = self.params['traceId']
  27. return None
  28. except Exception as e:
  29. response = {
  30. "error": "params check failed",
  31. "info": str(e)
  32. }
  33. return response
  34. async def findVideoInfo(self):
  35. """
  36. :return:
  37. """
  38. sql = f"""
  39. select video_info1, video_info2, video_info3 from {db_article}
  40. where trace_id = '{self.trace_id}';
  41. """
  42. video_info = await self.mysql_client.async_select(sql)
  43. video_info_list = video_info[0]
  44. vid_list = [json.loads(i) for i in video_info_list]
  45. return vid_list
  46. async def deal(self):
  47. """
  48. deal function
  49. :return:
  50. """
  51. params_error = self.checkParams()
  52. if params_error:
  53. return params_error
  54. else:
  55. video_info_list = await self.findVideoInfo()
  56. response = {
  57. "traceId": self.trace_id,
  58. "videoObjList": video_info_list
  59. }
  60. return response