From 91d1a35eac17c9fbaea387191587cd1d860a7931 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期五, 15 八月 2025 18:42:56 +0800
Subject: [PATCH] 接口修改

---
 servers/data_server.py |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 55 insertions(+), 4 deletions(-)

diff --git a/servers/data_server.py b/servers/data_server.py
index 7b14a99..d80d511 100644
--- a/servers/data_server.py
+++ b/servers/data_server.py
@@ -29,11 +29,14 @@
 from trade.buy_radical.new_block_processor import BeforeBlocksComputer
 from trade.buy_strategy import OpenLimitUpGoodBlocksBuyStrategy
 from trade.buy_radical.radical_buy_data_manager import RadicalBuyBlockManager, BeforeSubDealBigOrderManager
-from utils import global_util, tool, data_export_util, init_data_util
+from trade.huaxin import huaxin_trade_record_manager
+from trade.trade_data_manager import RadicalBuyDealCodesManager
+from utils import global_util, tool, data_export_util, init_data_util, huaxin_util
 from code_attribute import gpcode_manager, code_nature_analyse
 from log_module import log_analyse, log_export, async_log_util
 from l2 import code_price_manager, l2_data_util, transaction_progress
-from cancel_strategy.s_l_h_cancel_strategy import HourCancelBigNumComputer, LCancelRateManager
+from cancel_strategy.s_l_h_cancel_strategy import HourCancelBigNumComputer, LCancelRateManager, \
+    CancelRateHumanSettingManager
 from output.limit_up_data_filter import IgnoreCodeManager
 from third_data import kpl_util, kpl_data_manager, kpl_api, block_info
 from third_data.code_plate_key_manager import RealTimeKplMarketData, KPLPlateForbiddenManager
@@ -1082,9 +1085,27 @@
                         except:
                             is_limit_up = 0
                             pass
+
+                        # 鑾峰彇L鍚庝汉涓鸿缃殑鎾ゅ崟姣斾緥
+                        l_down_human_rate = None
+                        if single_code:
+                            # 鑾峰彇鎸傚崟
+                            try:
+                                current_delegates = huaxin_trade_record_manager.DelegateRecordManager().list_current_delegates()
+                                codes_set = set()
+                                if current_delegates:
+                                    for c in current_delegates:
+                                        if int(c["direction"]) != huaxin_util.TORA_TSTP_D_Buy:
+                                                continue
+                                        codes_set.add(c["securityID"])
+                                if code not in codes_set:
+                                    # 娌℃湁鎸傚崟
+                                    l_down_human_rate = CancelRateHumanSettingManager().get_l_down(code)
+                            except:
+                                pass
                         fresults.append(
                             (code, code_name, deal_big_order_info, deal_big_order_detail_info, big_order_enough_type,
-                             current_rate_dict.get(code, 0), is_limit_up))
+                             current_rate_dict.get(code, 0), is_limit_up, l_down_human_rate))
                 response_data = json.dumps({"code": 0, "data": fresults})
             except Exception as e:
                 response_data = json.dumps({"code": 1, "data": str(1)})
@@ -1105,10 +1126,18 @@
             response_data = json.dumps({"code": 0, "data": fdata})
         elif url.path == "/get_want_buy_detail_list":
             # 鑾峰彇鎯充拱鍗曡缁嗕俊鎭�
-            codes = gpcode_manager.WantBuyCodesManager().list_code_cache()
+
+            history_limit_up_datas = LimitUpDataConstant.history_limit_up_datas
+            codes = set()
+            if history_limit_up_datas:
+                codes |= set([x[3] for x in history_limit_up_datas])
+            want_codes = gpcode_manager.WantBuyCodesManager().list_code_cache()
+            if want_codes:
+                codes |= want_codes
             # 鎷夊彇娑ㄥ仠鏃堕棿
             # 鎷夊彇鏈�杩戞垚浜や俊鎭�
             fdatas = []
+            yesterday_codes = kpl_data_manager.get_yesterday_limit_up_codes()
             for code in codes:
                 # (浠g爜,鍚嶇О,娑ㄥ仠鏃堕棿,娑ㄥ箙,鐜版墜,鑷敱甯傚��,鐜颁环)
                 data = [code, gpcode_manager.get_code_name(code)]
@@ -1134,7 +1163,29 @@
                     data.append(price)
                 else:
                     data.append("--")
+                # 鏄惁鏄兂涔板崟
+                data.append(1 if code in want_codes else 0)
+                # 鏄剧ず浠g爜鏉垮潡韬綅
+                block_rank_info = None
+                # 鑾峰彇褰撳墠鏉垮潡
+                try:
+                    if limit_up_time:
+                        # 娑ㄥ仠杩囩殑鏁版嵁鎵嶆湁韬綅
+                        blocks = LimitUpCodesBlockRecordManager().get_radical_buy_blocks(code)
+                        if blocks:
+                            blocks_info=[]
+                            for b in blocks:
+                                info = radical_buy_data_manager.RadicalBuyBlockManager.get_history_index(code,b, yesterday_codes)
+                                blocks_info.append((b,info[0],info[2]))
+                            max_info = max(blocks_info, key= lambda x:x[2])
+                            block_rank_info = max_info
+                except:
+                    pass
+                data.append(block_rank_info)
                 fdatas.append(data)
+
+
+
             fdatas.sort(key=lambda x: x[2] if x[2] else time.time())
             response_data = json.dumps({"code": 0, "data": fdatas})
 

--
Gitblit v1.8.0