From e21e7670bf906489b44fb4fe83148be0a43a0d2a Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期五, 28 七月 2023 10:35:10 +0800 Subject: [PATCH] bug修复 --- third_data/kpl_data_manager.py | 19 ++++++++++--------- 1 files changed, 10 insertions(+), 9 deletions(-) diff --git a/third_data/kpl_data_manager.py b/third_data/kpl_data_manager.py index d13a122..5b06f51 100644 --- a/third_data/kpl_data_manager.py +++ b/third_data/kpl_data_manager.py @@ -14,8 +14,6 @@ from third_data.kpl_util import KPLPlatManager, KPLDataType - - class KPLCodeLimitUpReasonManager: __redisManager = redis_manager.RedisManager(3) @@ -158,16 +156,21 @@ for b in constant.KPL_INVALID_BLOCKS: wheres.append(f"hb.`_hot_block_name` != '{b}'") wheres = " and ".join(wheres) - sql = f"SELECT GROUP_CONCAT(_hot_block_name) FROM (SELECT hb.`_hot_block_name`,hb.`_day` FROM `kpl_limit_up_record` hb WHERE hb.`_code`='{code}' AND {wheres} ORDER BY hb.`_day` DESC LIMIT 10) a GROUP BY a._day ORDER BY a._day DESC LIMIT 1" + sql = f"SELECT GROUP_CONCAT(_hot_block_name) FROM (SELECT hb.`_hot_block_name`,hb.`_day` FROM `kpl_limit_up_record` hb WHERE hb.`_code`='{code}' AND {wheres} ORDER BY hb.`_day` DESC LIMIT 2) a GROUP BY a._day ORDER BY a._day DESC LIMIT 1" + print(sql) mysqldb = mysql_data.Mysqldb() return mysqldb.select_one(sql) # 鑾峰彇浠g爜鏈�杩戠殑鏉垮潡锛岃繑鍥瀃(鏉垮潡,鏃ユ湡)] @classmethod def get_latest_infos(cls, code, count, contains_today=True): + wheres = [] + for b in constant.KPL_INVALID_BLOCKS: + wheres.append(f"hb.`_hot_block_name` != '{b}'") + wheres = " and ".join(wheres) # 鍙幏鍙栨渶杩�180澶╃殑鏁版嵁 min_day = tool.date_sub(tool.get_now_date_str(), 180) - sql = f"SELECT GROUP_CONCAT(_hot_block_name),`_day`,_blocks FROM (SELECT hb.`_hot_block_name`,hb.`_day`,hb._blocks FROM `kpl_limit_up_record` hb WHERE hb.`_code`='{code}' and hb.`_day` > '{min_day}' ORDER BY hb.`_day` DESC LIMIT 10) a GROUP BY a._day ORDER BY a._day DESC LIMIT {count}" + sql = f"SELECT GROUP_CONCAT(_hot_block_name),`_day`,_blocks FROM (SELECT hb.`_hot_block_name`,hb.`_day`,hb._blocks FROM `kpl_limit_up_record` hb WHERE hb.`_code`='{code}' and {wheres} and hb.`_day` > '{min_day}' ORDER BY hb.`_day` DESC LIMIT 10) a GROUP BY a._day ORDER BY a._day DESC LIMIT {count}" mysqldb = mysql_data.Mysqldb() results = mysqldb.select_all(sql) if results and not contains_today and results[0][1] == tool.get_now_date_str(): @@ -176,7 +179,7 @@ @classmethod def get_latest_blocks_set(cls, code): - results = cls.get_latest_infos(code, 10, False) + results = cls.get_latest_infos(code, 2, False) bs = set([b[0] for b in results]) return bs @@ -297,8 +300,6 @@ yesterday_codes = set([x[0] for x in yesterday_limit_up_data_records]) return yesterday_codes + if __name__ == "__main__": - fresults = get_current_limit_up_data_records(2) - for d in fresults: - print(d) - get_current_limit_up_data_records(2) + print(KPLLimitUpDataRecordManager.get_latest_blocks_set("002671")) -- Gitblit v1.8.0