#!/usr/bin/env python # -*- coding: utf-8 -*- """ @author: Deepcold @file: saveEventChance.py @time: 2019/8/5 9:20 """ import pymysql from bin.common.parse_name_is_company import parse_name class saveEventChance(object): def __init__(self, config): # 每日事件数据库 save_db = config.SAVE_DB_INFO self.save_db_connect = pymysql.connect( host=save_db.HOST, user=save_db.USER, passwd=save_db.PASSWD, db=save_db.DBNAME, charset='utf8', use_unicode=True) self.save_db_cursor = self.save_db_connect.cursor() def save(self, save_items, db_config): save_table = db_config.save_table for items in save_items: print(items) if "被告" in items["event_type"]: items["event_flag"] = "1" # 先查重 try: self.save_db_cursor.execute( "SELECT id FROM daily_event WHERE EVENT_COMPANY=%s and SOURCE_PLATFORM=%s and SOURCE_ID = %s", (items["event_company"], items["source_platform"], items["source_id"])) has_value = self.save_db_cursor.fetchone() except Exception as e: has_value = None print(e) if has_value: pass else: try: self.save_db_cursor.execute( "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)", (items["event_type"], items["event_subtype"], items["event_company"], items["event_desc"], items["event_date"], items["push_date"], 0, items["source_platform"], items["source_id"], items["source_content"], items["event_flag"])) self.save_db_connect.commit() except Exception as e: print(e) event_id = self.save_db_cursor.lastrowid # 解析 for temp in items["hasBgCase"]: source = temp["_source"] yg_name = source["yishen_yg"] if len(yg_name) >= 99: yg_name = yg_name[:99] # 将原告进行切分,并解析原告是否为企业 new_yg_name_list = parse_name(yg_name) for new_yg_name in new_yg_name_list: case_id = temp["_id"] bg_name = items["event_company"] case_no = source["case_no"] court = source["court_name"] judge_date = source["judge_date"] case_reason = source["case_reason"] case_amt = source["case_amt"] status = 0 # 先查重 try: self.save_db_cursor.execute( "SELECT id FROM event_chance WHERE EVENT_ID=%s and YG_NAME=%s and BG_NAME=%s and CASE_NO = %s", (event_id, new_yg_name, bg_name, case_no)) has_value = self.save_db_cursor.fetchone() except Exception as e: has_value = None print(e) if has_value: pass else: # 保存至事件机会表 try: self.save_db_cursor.execute( "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)", (event_id, new_yg_name, bg_name, case_id, case_no, court, judge_date, case_reason, case_amt, status)) self.save_db_connect.commit() except Exception as e: print(e) elif "原告" in items["event_type"]: items["event_flag"] = "0" # 先查重 try: self.save_db_cursor.execute( "SELECT id FROM yg_daily_event WHERE EVENT_COMPANY='{1}' and SOURCE_PLATFORM='{2}' and SOURCE_ID = '{3}'".format (save_table, items["event_company"], items["source_platform"], items["source_id"])) has_value = self.save_db_cursor.fetchone() except Exception as e: has_value = None print(e) if has_value: pass else: sql = "INSERT INTO yg_daily_event" 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)" data = ( items["event_type"], items["event_subtype"], items["event_company"], items["bg_name"], items["event_desc"], items["event_date"], items["push_date"], 0, items["source_platform"], items["source_id"], items["source_content"], items["event_flag"]) try: self.save_db_cursor.execute(sql, data) self.save_db_connect.commit() except Exception as e: print(e)