From ba52d7ac92a36f413eacaa686f8535e859664ec6 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期一, 28 八月 2023 09:45:11 +0800
Subject: [PATCH] bug修改

---
 third_data/block_info.py |   68 ++++++++++++++++++++++++----------
 1 files changed, 48 insertions(+), 20 deletions(-)

diff --git a/third_data/block_info.py b/third_data/block_info.py
index 9b2dc17..7682066 100644
--- a/third_data/block_info.py
+++ b/third_data/block_info.py
@@ -4,10 +4,12 @@
 import datetime
 
 import constant
-import juejin
-import tool
-from third_data import kpl_util, kpl_data_manager
+from utils import tool
+from third_data import kpl_util
+from third_data.history_k_data_util import HistoryKDatasUtils
 from third_data.kpl_data_manager import KPLLimitUpDataRecordManager, KPLDataManager
+
+from third_data import kpl_data_manager
 
 __before_block_dict = {}
 
@@ -16,12 +18,21 @@
 
 def __load_before_block(code):
     if code not in __before_block_dict:
-        blocks = KPLLimitUpDataRecordManager.get_latest_blocks(code)
+        blocks = KPLLimitUpDataRecordManager.get_latest_blocks_set(code)
         if blocks:
-            blocks = blocks[0].split(',')
             __before_block_dict[code] = blocks
 
     return __before_block_dict.get(code)
+
+
+# 鑾峰彇涔嬪墠鐨勬澘鍧�
+def get_before_blocks(code):
+    return __before_block_dict.get(code)
+
+
+# 鑾峰彇涔嬪墠鐨勪唬鐮�-鏉垮潡瀛楀吀
+def get_before_blocks_dict():
+    return __before_block_dict
 
 
 def __get_code_from_code_info(code_info):
@@ -32,12 +43,13 @@
 # (浠g爜, 鍚嶇О, 棣栨娑ㄥ仠鏃堕棿, 鏈�杩戞定鍋滄椂闂�, 鍑犳澘, 娑ㄥ仠鍘熷洜, 鏉垮潡, 瀹為檯娴侀��, 涓诲姏鍑�棰�)
 def __get_blocks(code, limit_up_datas, filter=True):
     blocks = []
-    for data in limit_up_datas:
-        if data[0] == code:
-            block = data[5]
-            if block in constant.KPL_INVALID_BLOCKS and filter:
-                continue
-            blocks.append(block)
+    if limit_up_datas:
+        for data in limit_up_datas:
+            if data[0] == code:
+                block = data[5]
+                if block in constant.KPL_INVALID_BLOCKS and filter:
+                    continue
+                blocks.append(block)
     return blocks
 
 
@@ -57,10 +69,10 @@
     if now_day in __blocks_dict:
         return __blocks_dict[now_day]
     now_date = datetime.datetime.now()
-    end_date = juejin.JueJinManager.get_previous_trading_date(tool.get_now_date_str())
+    end_date = HistoryKDatasUtils.get_previous_trading_date(tool.get_now_date_str())
     start_date = now_date - datetime.timedelta(days=(day_count * 2 + 10))
     start_date = start_date.strftime("%Y-%m-%d")
-    days = juejin.JueJinManager.get_trading_dates(start_date, end_date)
+    days = HistoryKDatasUtils.get_trading_dates(start_date, end_date)
     days = days[0 - day_count:]
     results = KPLLimitUpDataRecordManager.list_blocks_with_day(days)
     __blocks_dict[now_day] = results
@@ -159,7 +171,7 @@
                 code_ = d[3]
                 limit_up_codes_info_set.add((code_, d[5]))
                 block_codes_set.add(code_)
-            elif d[3]==code:
+            elif d[3] == code:
                 limit_up_codes_info_set.add((d[3], d[5]))
     # 鑾峰彇娑ㄥ仠鐨勯『搴�
     limit_up_index = -1
@@ -192,12 +204,13 @@
             code_ = data[0]
             break_codes.add(code_)
     # 缁熻鍥炲皝
-    for data in latest_datas:
-        if data[5] != target_block:
-            continue
-        # 鍥炲皝
-        if data[2] != data[3]:
-            re_limit_codes.add(data[0])
+    if latest_datas:
+        for data in latest_datas:
+            if data[5] != target_block:
+                continue
+            # 鍥炲皝
+            if data[2] != data[3]:
+                re_limit_codes.add(data[0])
 
     # 鎺掗櫎鑷繁
     break_codes.discard(code)
@@ -228,5 +241,20 @@
     return fresult
 
 
+# 鍒濆鍖栨澘鍧楁暟鎹�
+def init():
+    # 鍔犺浇鏁版嵁鍒板唴瀛樹腑
+    kpl_data_manager.get_current_limit_up_data_records(10)
+    # 鍔犺浇鏈�杩戞暟鎹埌鍐呭瓨涓�
+    limit_up_datas = kpl_data_manager.KPLDataManager().get_data(kpl_util.KPLDataType.LIMIT_UP)
+    if limit_up_datas:
+        kpl_data_manager.KPLLimitUpDataRecordManager.latest_origin_datas = limit_up_datas
+
+
+def init_code(code):
+    # 鍔犺浇鍘嗗彶娑ㄥ仠鍘熷洜
+    __load_before_block(code)
+
+
 if __name__ == "__main__":
     get_info("603133")

--
Gitblit v1.8.0