publish_task.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. """
  2. @author: luojunhui
  3. """
  4. import json
  5. from applications.const import new_content_id_task_const
  6. from applications.functions.pqFunctions import get_pq_video_detail
  7. from applications.functions.pqFunctions import publish_to_pq
  8. async def publish_videos_to_piaoquan(video_list, kimi_title, process_times, trace_id, article_match_video_table, db_client):
  9. """
  10. 将视频发布至票圈
  11. """
  12. L = []
  13. for video_obj in video_list:
  14. params = {
  15. "videoPath": video_obj['video_oss_path'],
  16. "uid": video_obj['uid'],
  17. "title": kimi_title
  18. }
  19. publish_response = await publish_to_pq(params)
  20. video_id = publish_response['data']['id']
  21. response = await get_pq_video_detail(video_id)
  22. obj = {
  23. "uid": video_obj['uid'],
  24. "source": video_obj['platform'],
  25. "kimiTitle": kimi_title,
  26. "videoId": response['data'][0]['id'],
  27. "videoCover": response['data'][0]['shareImgPath'],
  28. "videoPath": response['data'][0]['videoPath'],
  29. "videoOss": video_obj['video_oss_path']
  30. }
  31. L.append(obj)
  32. update_sql = f"""
  33. UPDATE {article_match_video_table}
  34. SET content_status = %s, response = %s, process_times = %s
  35. WHERE trace_id = %s and content_status = %s;
  36. """
  37. # 从操作中状态修改为已发布状态
  38. await db_client.async_insert(
  39. sql=update_sql,
  40. params=(
  41. new_content_id_task_const.TASK_PUBLISHED_STATUS,
  42. json.dumps(L, ensure_ascii=False),
  43. process_times + 1,
  44. trace_id,
  45. new_content_id_task_const.TASK_PROCESSING_STATUS
  46. )
  47. )