sql_help.py 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. import os
  2. import sys
  3. from typing import Optional
  4. sys.path.append(os.getcwd())
  5. from datetime import datetime
  6. from common import MysqlHelper
  7. class sqlCollect():
  8. """
  9. 视频信息写入库中
  10. """
  11. @classmethod
  12. def insert_task(cls, task_mark, video_id, mark, channel):
  13. current_time = datetime.now()
  14. formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
  15. 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}')"""
  16. MysqlHelper.update_values(
  17. sql=insert_sql
  18. )
  19. """
  20. 判断该任务id是否用过
  21. """
  22. @classmethod
  23. def is_used(cls, task_mark, video_id, mark_name, channel):
  24. sql = """
  25. SELECT used_video_id
  26. FROM pj_video_data
  27. WHERE used_video_id = %s AND task_name = %s AND mark_name = %s AND channel = %s
  28. ORDER BY data_time DESC
  29. LIMIT 1
  30. """
  31. data = MysqlHelper.get_values(sql, (str(video_id), task_mark, mark_name, channel))
  32. if len(data) == 0 or data == ():
  33. return True
  34. return False
  35. @classmethod
  36. def get_history_id(cls, channel, url):
  37. """
  38. 从数据库表中读取 id
  39. """
  40. sql = f"""select name_id from accounts where name = %s and platform = %s and useful = 1 limit 1"""
  41. data = MysqlHelper.get_values(sql, (url, channel))
  42. if data:
  43. return data[0][0]
  44. else:
  45. return False
  46. @classmethod
  47. def insert_history_id(cls, account_name, target, channel):
  48. insert_sql = f"""INSERT INTO accounts (name, name_id, platform, useful) values ("{account_name}", "{target}", "{channel}", 1 )"""
  49. MysqlHelper.update_values(
  50. sql=insert_sql
  51. )
  52. @classmethod
  53. 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):
  54. insert_sql = f"""INSERT INTO machine_making_data (name, task_mark, channel, user, v_id, pq_uid, title, pq_vid, data_time, old_title) values ("{name}", "{task_mark}", "{channel_id}", "{url}", "{v_id}" , "{piaoquan_id}", "{new_title}", "{code}", "{formatted_time}", "{old_title}")"""
  55. MysqlHelper.update_values(
  56. sql=insert_sql
  57. )
  58. """
  59. 判断该任务id是否用过
  60. """
  61. @classmethod
  62. def is_used(cls, photo_id):
  63. sql = """
  64. SELECT photo_id
  65. FROM ks_category_video
  66. WHERE photo_id = %s
  67. """
  68. data = MysqlHelper.get_values(sql, (str(photo_id)))
  69. if len(data) == 0 or data == ():
  70. return False
  71. return True
  72. @classmethod
  73. def insert_ks_data(cls, user_name: str, user_sex: str, time_data, caption: str, view_count: str, like_count: str,
  74. share_count: str, duration: str, main_mv_url: str, thumbnail_url: str, user_id: str, status: str,
  75. photo_id: str, category_name: str, age: str, oss_object: Optional[str] = None,
  76. video_uid: Optional[str] = None):
  77. current_time = datetime.now()
  78. formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
  79. 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}")"""
  80. res = MysqlHelper.update_values(
  81. sql=insert_sql
  82. )