From a99a5ee7ae4514b1abf27f3fa551fad212a5d35a Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期二, 12 十一月 2024 19:27:40 +0800
Subject: [PATCH] bug修复

---
 third_data/kpl_data_manager.py |   51 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 48 insertions(+), 3 deletions(-)

diff --git a/third_data/kpl_data_manager.py b/third_data/kpl_data_manager.py
index fd216ba..8383772 100644
--- a/third_data/kpl_data_manager.py
+++ b/third_data/kpl_data_manager.py
@@ -178,9 +178,12 @@
             cls.__load_hist_and_blocks(d[3])
 
     @staticmethod
-    def list_all(day):
+    def list_all(day, max_limit_up_time=None):
         mysqldb = mysql_data.Mysqldb()
-        return mysqldb.select_all(f"select * from kpl_limit_up_record where _day='{day}'")
+        sql = f"select * from kpl_limit_up_record where _day='{day}'"
+        if max_limit_up_time:
+            sql += f" and cast(_limit_up_time as unsigned)<={max_limit_up_time}"
+        return mysqldb.select_all(sql)
 
     @classmethod
     def list_all_cache(cls, day):
@@ -596,6 +599,48 @@
         threading.Thread(target=cls.run_market_jingxuan_out, daemon=True).start()
 
 
+class CodeHighLevel:
+    """
+    浠g爜楂樺害绠$悊
+    """
+    __instance = None
+    # 涓嬪崟鏉垮潡鐨勪唬鐮佽褰�
+    __code_level_dict = {}
+    __codes = set()
+
+    def __new__(cls, *args, **kwargs):
+        if not cls.__instance:
+            cls.__instance = super(CodeHighLevel, cls).__new__(cls, *args, **kwargs)
+            cls.__load_data()
+        return cls.__instance
+
+    @classmethod
+    def __load_data(cls):
+        fdatas = get_current_limit_up_data_records(15)
+        temp_dict = {d[0]: 2 for d in fdatas[0][1]}
+        break_codes = set()
+        for i in range(1, len(fdatas)):
+            codes = [d[0] for d in fdatas[i][1]]
+            for k in temp_dict:
+                if k in break_codes:
+                    continue
+                if k in codes:
+                    temp_dict[k] += 1
+                else:
+                    break_codes.add(k)
+        cls.__code_level_dict = temp_dict
+
+    def get_high_level(self, code):
+        """
+        鑾峰彇娑ㄥ仠楂樺害锛岄粯璁�1鏉�
+        @param code:
+        @return:
+        """
+        if code in self.__code_level_dict:
+            return self.__code_level_dict[code]
+        return 1
+
+
 if __name__ == "__main__":
-    PullTask.run_pull_task()
+    print(CodeHighLevel().get_high_level("000833"))
     input()

--
Gitblit v1.8.0