saveEventChance.py 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. """
  4. @author: Deepcold
  5. @file: saveEventChance.py
  6. @time: 2019/8/5 9:20
  7. """
  8. import pymysql
  9. from bin.common.parse_name_is_company import parse_name
  10. class saveEventChance(object):
  11. def __init__(self, config):
  12. # 每日事件数据库
  13. save_db = config.SAVE_DB_INFO
  14. self.save_db_connect = pymysql.connect(
  15. host=save_db.HOST, user=save_db.USER, passwd=save_db.PASSWD, db=save_db.DBNAME,
  16. charset='utf8', use_unicode=True)
  17. self.save_db_cursor = self.save_db_connect.cursor()
  18. def save(self, save_items, db_config):
  19. save_table = db_config.save_table
  20. for items in save_items:
  21. print(items)
  22. if "被告" in items["event_type"]:
  23. items["event_flag"] = "1"
  24. # 先查重
  25. try:
  26. self.save_db_cursor.execute(
  27. "SELECT id FROM daily_event WHERE EVENT_COMPANY=%s and SOURCE_PLATFORM=%s and SOURCE_ID = %s",
  28. (items["event_company"], items["source_platform"], items["source_id"]))
  29. has_value = self.save_db_cursor.fetchone()
  30. except Exception as e:
  31. has_value = None
  32. print(e)
  33. if has_value:
  34. pass
  35. else:
  36. try:
  37. self.save_db_cursor.execute(
  38. "INSERT INTO daily_event(EVENT_TYPE, EVENT_SUBTYPE,EVENT_COMPANY, EVENT_DESC, EVENT_DATE, PUSH_DATE, STATUS,SOURCE_PLATFORM,SOURCE_ID,SOURCE_CONTENT,EVENT_FLAG) VALUES (%s,%s,%s, %s, %s, %s, %s, %s,%s,%s,%s)",
  39. (items["event_type"], items["event_subtype"], items["event_company"], items["event_desc"],
  40. items["event_date"], items["push_date"], 0, items["source_platform"], items["source_id"],
  41. items["source_content"], items["event_flag"]))
  42. self.save_db_connect.commit()
  43. except Exception as e:
  44. print(e)
  45. event_id = self.save_db_cursor.lastrowid
  46. # 解析
  47. for temp in items["hasBgCase"]:
  48. source = temp["_source"]
  49. yg_name = source["yishen_yg"]
  50. if len(yg_name) >= 99:
  51. yg_name = yg_name[:99]
  52. # 将原告进行切分,并解析原告是否为企业
  53. new_yg_name_list = parse_name(yg_name)
  54. for new_yg_name in new_yg_name_list:
  55. case_id = temp["_id"]
  56. bg_name = items["event_company"]
  57. case_no = source["case_no"]
  58. court = source["court_name"]
  59. judge_date = source["judge_date"]
  60. case_reason = source["case_reason"]
  61. case_amt = source["case_amt"]
  62. status = 0
  63. # 先查重
  64. try:
  65. self.save_db_cursor.execute(
  66. "SELECT id FROM event_chance WHERE EVENT_ID=%s and YG_NAME=%s and BG_NAME=%s and CASE_NO = %s",
  67. (event_id, new_yg_name, bg_name, case_no))
  68. has_value = self.save_db_cursor.fetchone()
  69. except Exception as e:
  70. has_value = None
  71. print(e)
  72. if has_value:
  73. pass
  74. else:
  75. # 保存至事件机会表
  76. try:
  77. self.save_db_cursor.execute(
  78. "INSERT INTO event_chance(EVENT_ID,YG_NAME,BG_NAME,CASE_ID,CASE_NO,COURT,JUDGE_DATE,CASE_REASON,CASE_AMT,STATUS) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
  79. (event_id, new_yg_name, bg_name, case_id, case_no, court, judge_date,
  80. case_reason, case_amt, status))
  81. self.save_db_connect.commit()
  82. except Exception as e:
  83. print(e)
  84. elif "原告" in items["event_type"]:
  85. items["event_flag"] = "0"
  86. # 先查重
  87. try:
  88. self.save_db_cursor.execute(
  89. "SELECT id FROM yg_daily_event WHERE EVENT_COMPANY='{1}' and SOURCE_PLATFORM='{2}' and SOURCE_ID = '{3}'".format
  90. (save_table, items["event_company"], items["source_platform"], items["source_id"]))
  91. has_value = self.save_db_cursor.fetchone()
  92. except Exception as e:
  93. has_value = None
  94. print(e)
  95. if has_value:
  96. pass
  97. else:
  98. sql = "INSERT INTO yg_daily_event"
  99. sql = sql + "(EVENT_TYPE, EVENT_SUBTYPE,EVENT_COMPANY, BG_NAME,EVENT_DESC, EVENT_DATE, PUSH_DATE, STATUS,SOURCE_PLATFORM,SOURCE_ID,SOURCE_CONTENT,EVENT_FLAG) VALUES (%s,%s,%s, %s,%s, %s, %s, %s, %s,%s,%s,%s)"
  100. data = (
  101. items["event_type"],
  102. items["event_subtype"],
  103. items["event_company"],
  104. items["bg_name"],
  105. items["event_desc"],
  106. items["event_date"],
  107. items["push_date"],
  108. 0,
  109. items["source_platform"],
  110. items["source_id"],
  111. items["source_content"],
  112. items["event_flag"])
  113. try:
  114. self.save_db_cursor.execute(sql, data)
  115. self.save_db_connect.commit()
  116. except Exception as e:
  117. print(e)