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