insertVideoRoute.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. """
  2. @author: luojunhui
  3. """
  4. from config import daily_video
  5. def convertDt(dt_str):
  6. """
  7. 切换字符串
  8. :param dt_str:
  9. :return:
  10. """
  11. year = dt_str[:4]
  12. month = dt_str[4:6]
  13. day = dt_str[6:]
  14. return "{}-{}-{}".format(year, month, day)
  15. async def insert(db_client, params, request_id):
  16. """
  17. :return:
  18. """
  19. try:
  20. video_id = params['video_id']
  21. title = params['title']
  22. return_cnt = params['last_day_return']
  23. uid = params['uid']
  24. view_cnt = params['last_day_view']
  25. share_cnt = params['last_day_share']
  26. category = params['category']
  27. dt = params['dt']
  28. except Exception as e:
  29. response = {
  30. "error": str(e),
  31. "message": "params check failed",
  32. "requestId": request_id
  33. }
  34. return response
  35. insert_sql = f"""
  36. INSERT INTO {daily_video}
  37. (video_id, uid, title, return_cnt, view_cnt, share_cnt, category, ros, rov, dt, date_time)
  38. values
  39. (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s);
  40. """
  41. try:
  42. await db_client.asyncInsert(
  43. insert_sql,
  44. params=(
  45. video_id,
  46. uid,
  47. title,
  48. return_cnt,
  49. view_cnt,
  50. share_cnt,
  51. category,
  52. float(int(return_cnt) / int(view_cnt)) if int(view_cnt) > 0 else 0,
  53. float(int(return_cnt) / int(share_cnt)) if int(share_cnt) > 0 else 0,
  54. dt,
  55. convertDt(dt)
  56. )
  57. )
  58. response = {
  59. "info": "success",
  60. "requestId": request_id
  61. }
  62. except Exception as e:
  63. response = {
  64. "error": str(e),
  65. "requestId": request_id
  66. }
  67. return response