sql_help.py 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. import os
  2. import sys
  3. from typing import Optional
  4. from common.mysql_db_aigc import AigcMysqlHelper
  5. sys.path.append(os.getcwd())
  6. from datetime import datetime
  7. from common import MysqlHelper
  8. class sqlCollect():
  9. """
  10. 视频信息写入库中
  11. """
  12. @classmethod
  13. def insert_task(cls, task_mark, video_id, mark, channel):
  14. current_time = datetime.now()
  15. formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
  16. insert_sql = f"""INSERT INTO pj_video_data (task_name, used_video_id, mark_name, data_time, channel) values ('{task_mark}' ,'{video_id}','{mark}', '{formatted_time}', '{channel}')"""
  17. MysqlHelper.update_values(
  18. sql=insert_sql
  19. )
  20. """
  21. 判断该任务id是否用过
  22. """
  23. @classmethod
  24. def is_used(cls, task_mark, video_id, mark_name, channel):
  25. sql = """
  26. SELECT used_video_id
  27. FROM pj_video_data
  28. WHERE used_video_id = %s AND task_name = %s AND mark_name = %s AND channel = %s
  29. ORDER BY data_time DESC
  30. LIMIT 1
  31. """
  32. data = MysqlHelper.get_values(sql, (str(video_id), task_mark, mark_name, channel))
  33. if len(data) == 0 or data == ():
  34. return True
  35. return False
  36. @classmethod
  37. def get_history_id(cls, channel, url):
  38. """
  39. 从数据库表中读取 id
  40. """
  41. sql = f"""select name_id from accounts where name = %s and platform = %s and useful = 1 limit 1"""
  42. data = MysqlHelper.get_values(sql, (url, channel))
  43. if data:
  44. return data[0][0]
  45. else:
  46. return False
  47. @classmethod
  48. def insert_history_id(cls, account_name, target, channel):
  49. insert_sql = f"""INSERT INTO accounts (name, name_id, platform, useful) values ("{account_name}", "{target}", "{channel}", 1 )"""
  50. MysqlHelper.update_values(
  51. sql=insert_sql
  52. )
  53. @classmethod
  54. def insert_machine_making_data(cls, name: str, task_mark: str, channel_id: str, url: str, v_id: str, piaoquan_id: str, new_title: str, code: str, formatted_time, old_title: str, oss_object_key: str):
  55. insert_sql = f"""INSERT INTO machine_making_data (name, task_mark, channel, user, v_id, pq_uid, title, pq_vid, data_time, old_title, oss_object_key) values ("{name}", "{task_mark}", "{channel_id}", "{url}", "{v_id}" , "{piaoquan_id}", "{new_title}", "{code}", "{formatted_time}", "{old_title}", "{oss_object_key}")"""
  56. MysqlHelper.update_values(
  57. sql=insert_sql
  58. )
  59. """
  60. 判断该任务id是否用过
  61. """
  62. @classmethod
  63. def ks_is_used(cls, photo_id):
  64. sql = """
  65. SELECT photo_id
  66. FROM ks_category_video
  67. WHERE photo_id = %s
  68. """
  69. data = MysqlHelper.get_values(sql, (str(photo_id)))
  70. if len(data) == 0 or data == ():
  71. return False
  72. return True
  73. @classmethod
  74. def insert_ks_data(cls, user_name: str, user_sex: str, time_data, caption: str, view_count: str, like_count: str,
  75. share_count: str, duration: str, main_mv_url: str, thumbnail_url: str, user_id: str, status: str,
  76. photo_id: str, category_name: str, age: str, oss_object: Optional[str] = None,
  77. video_uid: Optional[str] = None):
  78. current_time = datetime.now()
  79. formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
  80. insert_sql = f"""INSERT INTO ks_category_video (user_name, user_sex, time_data, caption, view_count, like_count, share_count, duration, main_mv_url, thumbnail_url, user_id, status, age_proportion, video_oss_path, pq_video_id, update_time, photo_id, category_name) values ("{user_name}", "{user_sex}", "{time_data}", "{caption}", "{view_count}", "{like_count}", "{share_count}", "{duration}", "{main_mv_url}", "{thumbnail_url}", "{user_id}", "{status}", "{age}", "{oss_object}", "{video_uid}", "{formatted_time}", "{photo_id}", "{category_name}")"""
  81. res = MysqlHelper.update_values(
  82. sql=insert_sql
  83. )
  84. @classmethod
  85. def get_shp_dd_data(cls, url):
  86. """
  87. 获取视频号单点内容
  88. """
  89. sql = f"""select video_id,title,author_id,author_name,cover_url,video_url,video_duration,from_user_id,from_user_name,from_group_id,from_group_name from dandian_shipinhao where from_user_name = %s and has_used = 0 """
  90. data = AigcMysqlHelper.get_values(sql, (url))
  91. return data
  92. @classmethod
  93. def update_shp_dd_vid(cls, vid):
  94. """
  95. 视频号单点修改状态为1
  96. """
  97. sql = f"""UPDATE dandian_shipinhao set has_used = 1 where video_id = '{vid}'"""
  98. res = AigcMysqlHelper.update_values(
  99. sql=sql
  100. )
  101. return res