From 892b50e242e3c59a738b92dfdfee1bf1ff8932f2 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期五, 21 十月 2022 16:59:58 +0800 Subject: [PATCH] 新策略修改 --- ths_industry_util.py | 66 ++++++++++++++++++++++++++++++-- 1 files changed, 61 insertions(+), 5 deletions(-) diff --git a/ths_industry_util.py b/ths_industry_util.py index 9428230..bb2efd5 100644 --- a/ths_industry_util.py +++ b/ths_industry_util.py @@ -3,18 +3,21 @@ """ # 鍚岃姳椤鸿涓� +import time + import global_util -import mongo_data +import mysql_data # 鑾峰彇琛屼笟鏄犲皠 def get_code_industry_maps(): __code_map = {} __industry_map = {} - results = mongo_data.find("ths-industry-codes", {}) + mysqldb = mysql_data.Mysqldb() + results = mysqldb.select_all("select * from ths_industry_codes") for r in results: - code = r["_id"] - industry = r["second_industry"] + code = r[0] + industry = r[1] __code_map[code] = industry if __industry_map.get(industry) is None: __industry_map[industry] = set() @@ -24,6 +27,8 @@ # 璁剧疆琛屼笟鐑害 def set_industry_hot_num(limit_up_datas): + if limit_up_datas is None: + return industry_hot_dict = {} code_industry_map = global_util.code_industry_map if code_industry_map is None or len(code_industry_map) == 0: @@ -44,6 +49,10 @@ percent = float(data["limitUpPercent"]) if percent > 21: percent = 21 + percent = round(percent, 2) + # 淇濆瓨娑ㄥ箙 + global_util.limit_up_codes_percent[code] = percent + industry_hot_dict[industry] = round(industry_hot_dict[industry] + percent, 2) global_util.industry_hot_num = industry_hot_dict @@ -57,7 +66,7 @@ global_util.load_industry() industry = global_util.code_industry_map.get(code) if industry is None: - return None,None + return None, None codes_ = set() for code_ in codes: if global_util.code_industry_map.get(code_) == industry: @@ -66,6 +75,53 @@ return industry, codes_ +# 鑾峰彇杩欎竴鎵规暟鎹殑琛屼笟 +def __get_industry(datas): + ors = [] + codes = set() + for data in datas: + codes.add(data["code"]) + + " or ".join(codes) + for code in codes: + ors.append("first_code='{}'".format(code)) + + mysqldb = mysql_data.Mysqldb() + results = mysqldb.select_all("select * from ths_industry where {}".format(" or ".join(ors))) + + _fname = None + for a in results: + _fname = a[0] + break + print("鏈�缁堢殑浜岀骇琛屼笟鍚嶇О涓猴細", _fname) + return _fname + + +# 淇濆瓨鍗曚釜浠g爜鐨勮涓� +def __save_code_industry(code, industry_name, zyltgb, zyltgb_unit): + mysqldb = mysql_data.Mysqldb() + result = mysqldb.select_one("select * from ths_industry_codes where _id={}".format(code)) + if result is None: + mysqldb.insert( + "insert into ths_industry_codes(code,industry_name,zyltgb,zyltgb_unit) values('{}','{}','{}',{})".format( + code, industry_name, zyltgb, zyltgb_unit, round(time.time() * 1000))) + else: + mysqldb.update( + "update ths_industry_codes set industry_name='{}',zyltgb='{}',zyltgb_unit={} where _id='{}'".format( + industry_name, zyltgb, zyltgb_unit, code)) + + +# 淇濆瓨琛屼笟浠g爜 +def save_industry_code(datasList): + for datas in datasList: + # 鏌ヨ杩欐壒鏁版嵁鎵�灞炶涓� + industry_name = __get_industry(datas) + _list = [] + for data in datas: + # 淇濆瓨 + __save_code_industry(data["code"],industry_name,data["zyltgb"],data["zyltgb_unit"]) + + if __name__ == "__main__": _code_map, _industry_map = get_code_industry_maps() print(_code_map, _industry_map) -- Gitblit v1.8.0