From 0d82ecf0d6dca56ffbe319f3fd2efcd4bd9fb79f Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期一, 02 十二月 2024 17:51:50 +0800
Subject: [PATCH] 结构调整

---
 trade/buy_radical/radical_buy_data_manager.py |   17 +-------
 api/outside_api_command_callback.py           |    4 -
 constant.py                                   |    2 
 third_data/code_plate_key_manager.py          |   25 ++----------
 servers/huaxin_trade_server.py                |    8 +++
 l2/l2_data_manager_new.py                     |   10 ++++-
 6 files changed, 24 insertions(+), 42 deletions(-)

diff --git a/api/outside_api_command_callback.py b/api/outside_api_command_callback.py
index 346d1cd..666e10f 100644
--- a/api/outside_api_command_callback.py
+++ b/api/outside_api_command_callback.py
@@ -1268,11 +1268,9 @@
                 source_origin_dict = copy.deepcopy(CodeThirdBlocksManager().get_source_blocks_origin(code))
                 if not source_origin_dict:
                     source_origin_dict = {}
-                kpl_blocks = RadicalBuyBlockManager.get_code_kpl_blocks(code)
+                kpl_blocks = set()
                 if kpl_blocks is None:
                     kpl_blocks = set()
-                if not kpl_blocks:
-                    KPLCodeJXBlockManager().load_jx_blocks_radical(code)
 
                 filter_blocks, match_blocks = RadicalBuyBlockManager.get_code_blocks(code)
                 source_origin_dict[SOURCE_TYPE_KPL] = kpl_blocks
diff --git a/constant.py b/constant.py
index f9cf4a9..70dbda4 100644
--- a/constant.py
+++ b/constant.py
@@ -172,7 +172,7 @@
 G_CANCEL_RATE_FOR_GOOD_MARKET = 0.59
 
 # 鍗庨懌L2鐨勫崱浣嶆暟閲�
-HUAXIN_L2_MAX_CODES_COUNT = 90
+HUAXIN_L2_MAX_CODES_COUNT = 85
 
 TRADE_WAY_HUAXIN = "huaxin"
 TRADE_WAY_JUEJIN = "juejin"
diff --git a/l2/l2_data_manager_new.py b/l2/l2_data_manager_new.py
index 358823d..b3485a5 100644
--- a/l2/l2_data_manager_new.py
+++ b/l2/l2_data_manager_new.py
@@ -41,7 +41,7 @@
 from trade.trade_data_manager import CodeActualPriceProcessor, PlaceOrderCountManager, AccountMoneyManager, \
     RadicalBuyDealCodesManager
 
-from trade.trade_manager import TradeTargetCodeModeManager
+from trade.trade_manager import TradeTargetCodeModeManager, CodesTradeStateManager
 
 from settings.trade_setting import MarketSituationManager, TradeBlockBuyModeManager
 
@@ -1251,12 +1251,18 @@
         if can_buy_result is None:
             async_log_util.warning(logger_debug, "娌℃湁鑾峰彇鍒版澘鍧楃紦瀛橈紝灏嗚幏鍙栨澘鍧�")
             latest_current_limit_up_records = kpl_data_manager.get_latest_current_limit_up_records()
+
+            codes_delegate = set(CodesTradeStateManager().get_codes_by_trade_states_cache(
+                {trade_constant.TRADE_STATE_BUY_DELEGATED, trade_constant.TRADE_STATE_BUY_PLACE_ORDER}))
+            codes_success = set(CodesTradeStateManager().get_codes_by_trade_states_cache(
+                {trade_constant.TRADE_STATE_BUY_SUCCESS}))
+
             CodePlateKeyBuyManager.update_can_buy_blocks(code,
                                                          kpl_data_manager.KPLLimitUpDataRecordManager.latest_origin_datas,
                                                          kpl_data_manager.KPLLimitUpDataRecordManager.total_datas,
                                                          latest_current_limit_up_records,
                                                          block_info.get_before_blocks_dict(),
-                                                         kpl_data_manager.KPLLimitUpDataRecordManager.get_current_limit_up_reason_codes_dict())
+                                                         kpl_data_manager.KPLLimitUpDataRecordManager.get_current_limit_up_reason_codes_dict(), codes_delegate, codes_success)
             can_buy_result = CodePlateKeyBuyManager.can_buy(code)
         return can_buy_result
 
diff --git a/servers/huaxin_trade_server.py b/servers/huaxin_trade_server.py
index a4b2564..4125f42 100644
--- a/servers/huaxin_trade_server.py
+++ b/servers/huaxin_trade_server.py
@@ -390,12 +390,18 @@
                                                            kpl_data_manager.KPLLimitUpDataRecordManager.get_current_reasons())
                 # 鏇存柊鏉垮潡淇℃伅
                 latest_current_limit_up_records = kpl_data_manager.get_latest_current_limit_up_records()
+
+                codes_delegate = set(CodesTradeStateManager().get_codes_by_trade_states_cache(
+                    {trade_constant.TRADE_STATE_BUY_DELEGATED, trade_constant.TRADE_STATE_BUY_PLACE_ORDER}))
+                codes_success = set(CodesTradeStateManager().get_codes_by_trade_states_cache(
+                    {trade_constant.TRADE_STATE_BUY_SUCCESS}))
+
                 CodePlateKeyBuyManager.update_can_buy_blocks(code_,
                                                              kpl_data_manager.KPLLimitUpDataRecordManager.latest_origin_datas,
                                                              kpl_data_manager.KPLLimitUpDataRecordManager.total_datas,
                                                              latest_current_limit_up_records,
                                                              block_info.get_before_blocks_dict(),
-                                                             kpl_data_manager.KPLLimitUpDataRecordManager.get_current_limit_up_reason_codes_dict())
+                                                             kpl_data_manager.KPLLimitUpDataRecordManager.get_current_limit_up_reason_codes_dict(),codes_delegate, codes_success)
             finally:
                 cls.__updating_jx_blocks_codes.discard(code_)
 
diff --git a/third_data/code_plate_key_manager.py b/third_data/code_plate_key_manager.py
index 92cfcf0..5f8a15d 100644
--- a/third_data/code_plate_key_manager.py
+++ b/third_data/code_plate_key_manager.py
@@ -20,7 +20,7 @@
 
 from log_module.log import logger_kpl_block_can_buy, logger_kpl_jx_out, logger_kpl_jx_in, logger_debug
 from third_data.kpl_util import KPLPlatManager
-from trade import trade_manager, l2_trade_util, trade_constant
+from trade import l2_trade_util, trade_constant
 
 # 浠g爜绮鹃�夋澘鍧楃鐞�
 from utils.kpl_data_db_util import KPLLimitUpDataUtil
@@ -670,19 +670,7 @@
     __TargetCodePlateKeyManager = TargetCodePlateKeyManager()
     __LimitUpCodesPlateKeyManager = LimitUpCodesPlateKeyManager()
     __CodesHisReasonAndBlocksManager = CodesHisReasonAndBlocksManager()
-    __CodesTradeStateManager = trade_manager.CodesTradeStateManager()
     __can_buy_compute_result_dict = {}
-
-    @classmethod
-    def __remove_from_l2(cls, code, msg):
-        # 鏍规嵁韬綅绉婚櫎浠g爜
-        # return
-        # 涓嬭繃鍗曠殑浠g爜涓嶇Щ闄�
-        if trade_manager.CodesTradeStateManager().get_trade_state_cache(code) != trade_constant.TRADE_STATE_NOT_TRADE:
-            # 鍙涓嬭繃鍗曠殑灏变笉绉婚櫎
-            return
-        l2_trade_util.forbidden_trade(code, msg=msg)
-        logger_kpl_block_can_buy.info(msg)
 
     # 鏄惁闇�瑕佺Н鏋佷拱
     @classmethod
@@ -1020,7 +1008,7 @@
     @classmethod
     def __compute_can_buy_blocks(cls, code, current_limit_up_datas, limit_up_record_datas,
                                  yesterday_current_limit_up_codes, before_blocks_dict,
-                                 current_limit_up_block_codes_dict, high_level_general_code_blocks):
+                                 current_limit_up_block_codes_dict, high_level_general_code_blocks, codes_delegate, codes_success):
         # 鏍规嵁浠g爜娉涘寲鏉垮潡鑾峰彇娉涘寲鏉垮潡鐨勪唬鐮侀泦鍚�
         high_level_general_block_codes = {}
         for c in high_level_general_code_blocks:
@@ -1036,10 +1024,7 @@
                                                              high_level_general_block_codes)
         if not blocks_compute_results:
             return False, True, f"娌℃湁鎵惧埌鏉垮潡", [], keys, []
-        codes_delegate = set(cls.__CodesTradeStateManager.get_codes_by_trade_states_cache(
-            {trade_constant.TRADE_STATE_BUY_DELEGATED, trade_constant.TRADE_STATE_BUY_PLACE_ORDER}))
-        codes_success = set(cls.__CodesTradeStateManager.get_codes_by_trade_states_cache(
-            {trade_constant.TRADE_STATE_BUY_SUCCESS}))
+
         codes = codes_delegate | codes_success
         # 缁熻鎴愪氦浠g爜鐨勬澘鍧�
         trade_codes_blocks_dict = {}
@@ -1118,7 +1103,7 @@
     @classmethod
     def update_can_buy_blocks(cls, code, current_limit_up_datas, limit_up_record_datas,
                               latest_current_limit_up_records,
-                              before_blocks_dict, current_limit_up_block_codes_dict):
+                              before_blocks_dict, current_limit_up_block_codes_dict, delegate_codes, deal_codes):
         yesterday_current_limit_up_codes = set()
         yesterday_current_limit_up_records_dict = {}
         yesterday_current_limit_up_records = latest_current_limit_up_records[0][1]
@@ -1152,7 +1137,7 @@
                                                                                                                    yesterday_current_limit_up_codes,
                                                                                                                    before_blocks_dict,
                                                                                                                    current_limit_up_block_codes_dict,
-                                                                                                                   high_level_general_code_blocks)
+                                                                                                                   high_level_general_code_blocks, delegate_codes, deal_codes)
         # 淇濆瓨鏉垮潡璁$畻缁撴灉
         cls.__can_buy_compute_result_dict[code] = (
             can_buy_blocks, unique, msg, can_buy_strong_blocks, keys, active_buy_blocks)
diff --git a/trade/buy_radical/radical_buy_data_manager.py b/trade/buy_radical/radical_buy_data_manager.py
index e3b455b..6922106 100644
--- a/trade/buy_radical/radical_buy_data_manager.py
+++ b/trade/buy_radical/radical_buy_data_manager.py
@@ -9,7 +9,6 @@
 import l2_data_util
 from code_attribute import code_nature_analyse, code_volumn_manager, gpcode_manager
 from code_attribute.code_l1_data_manager import L1DataManager
-from code_attribute.code_volumn_manager import CodeVolumeManager
 from code_attribute.gpcode_manager import GreenListCodeManager
 from db import redis_manager_delegate as redis_manager
 from db.redis_manager_delegate import RedisUtils
@@ -17,14 +16,13 @@
 from l2.l2_transaction_data_manager import BigOrderDealManager, HuaXinBuyOrderManager
 from log_module import async_log_util
 from log_module.log import logger_l2_radical_buy, logger_debug, logger_l2_radical_buy_data
-from third_data import kpl_data_manager, kpl_block_util, huaxin_l1_data_manager, kpl_util, kpl_data_constant
-from third_data.code_plate_key_manager import TargetCodePlateKeyManager, KPLCodeJXBlockManager, RealTimeKplMarketData
+from third_data import kpl_block_util, huaxin_l1_data_manager, kpl_data_constant
+from third_data.code_plate_key_manager import RealTimeKplMarketData
 from third_data.kpl_data_constant import LimitUpDataConstant, LimitUpCodesBlockRecordManager
 from third_data.kpl_data_manager import CodeHighLevel
 from third_data.third_blocks_manager import BlockMapManager
 from trade.buy_money_count_setting import RadicalBuyBlockCodeCountManager
 from trade.buy_radical.block_special_codes_manager import BlockSpecialCodesManager
-from trade.order_statistic import DealAndDelegateWithBuyModeDataManager
 from trade.trade_data_manager import RadicalBuyDealCodesManager
 from utils import tool, global_util
 
@@ -795,17 +793,6 @@
         if not limit_up_timestamp:
             limit_up_timestamp = time.time()
         return limit_up_timestamp
-
-    @classmethod
-    def get_code_kpl_blocks(cls, code):
-        blocks = KPLCodeJXBlockManager().get_jx_blocks_radical(code)
-        if blocks is None:
-            blocks = set()
-        # 灏嗚幏鍙栨定鍋滃師鍥犱笌娑ㄥ仠鎺ㄨ崘
-        keys = TargetCodePlateKeyManager().get_plate_keys(code, contains_today=True)
-        if keys and keys[0]:
-            blocks |= set(keys[0])
-        return blocks
 
     @classmethod
     def get_code_blocks(cls, code):

--
Gitblit v1.8.0