From d2247ed8af382dd202f23a03a572db2cb65c444f Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期五, 04 七月 2025 15:29:15 +0800
Subject: [PATCH] bug修复

---
 api/outside_api_command_callback.py |   52 ++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 48 insertions(+), 4 deletions(-)

diff --git a/api/outside_api_command_callback.py b/api/outside_api_command_callback.py
index db672cd..1e47afd 100644
--- a/api/outside_api_command_callback.py
+++ b/api/outside_api_command_callback.py
@@ -14,7 +14,8 @@
 import constant
 import inited_data
 import outside_api_command_manager
-from cancel_strategy.s_l_h_cancel_strategy import SCancelBigNumComputer, LCancelRateManager
+from cancel_strategy.s_l_h_cancel_strategy import SCancelBigNumComputer, LCancelRateManager, \
+    CancelRateHumanSettingManager
 from code_attribute import gpcode_manager, code_volumn_manager, zyltgb_util, code_nature_analyse
 from code_attribute.code_data_util import ZYLTGBUtil
 from code_attribute.code_l1_data_manager import L1DataManager
@@ -54,7 +55,8 @@
 from trade.huaxin import huaxin_trade_api, huaxin_trade_data_update, \
     huaxin_trade_record_manager, huaxin_trade_order_processor, huaxin_sell_util
 from trade.huaxin.huaxin_trade_record_manager import PositionManager, DealRecordManager, DelegateRecordManager
-from trade.buy_radical.radical_buy_data_manager import RadicalBuyBlockManager, BeforeSubDealBigOrderManager
+from trade.buy_radical.radical_buy_data_manager import RadicalBuyBlockManager, BeforeSubDealBigOrderManager, \
+    TotalDealBigOrderThresholdMoneyManager
 from trade.sell import sell_manager
 from trade.sell.sell_rule_manager import TradeRuleManager, SellRule
 from trade.trade_data_manager import RadicalBuyDealCodesManager
@@ -1108,6 +1110,10 @@
                                      "l_down_cancel_rate": l_down_cancel_rate,
                                      "expire_rate": expire_rate
                                      }
+                            l_down_cancel_rate = CancelRateHumanSettingManager().get_l_down(code)
+                            if l_down_cancel_rate is not None:
+                                fdata["l_down_cancel_rate"] = l_down_cancel_rate
+
                             limit_up_data = kpl_data_manager.KPLLimitUpDataRecordManager.record_code_dict.get(code)
                             # 鑾峰彇褰撳墠鏉垮潡
                             try:
@@ -1319,7 +1325,9 @@
                     if volumes_data:
                         is_new_top = code_nature_analyse.is_new_top(code,
                                                                     gpcode_manager.get_limit_up_price_by_preprice(code,
-                                                                                                                  volumes_data[0]["close"]),
+                                                                                                                  volumes_data[
+                                                                                                                      0][
+                                                                                                                      "close"]),
                                                                     volumes_data)
 
                 data = {
@@ -1390,7 +1398,8 @@
                                     "top_block_count_by_market_strong": constant.RADICAL_BUY_TOP_IN_COUNT_BY_MARKET_STRONG,
                                     "special_codes_max_block_in_rank": constant.RADICAL_BUY_TOP_IN_INDEX_WITH_SPECIAL,
                                     "ignore_block_in_money_market_strong": constant.IGNORE_BLOCK_IN_MONEY_MARKET_STRONG,
-                                    "buy_first_limit_up": 1 if constant.CAN_BUY_FIRST_LIMIT_UP else 0
+                                    "buy_first_limit_up": 1 if constant.CAN_BUY_FIRST_LIMIT_UP else 0,
+                                    "can_auto_add_white": 1 if constant.CAN_AUTO_ADD_WHITE else 0
                                     }}
                 self.send_response({"code": 0, "data": data, "msg": f""},
                                    client_id,
@@ -1414,6 +1423,9 @@
                     if radical_buy.get('buy_first_limit_up') is not None:
                         constant.CAN_BUY_FIRST_LIMIT_UP = True if radical_buy.get(
                             'buy_first_limit_up') else False
+                    if radical_buy.get('can_auto_add_white') is not None:
+                        constant.CAN_AUTO_ADD_WHITE = True if radical_buy.get(
+                            'can_auto_add_white') else False
 
                 self.send_response({"code": 0, "data": {}, "msg": f""},
                                    client_id,
@@ -1472,7 +1484,39 @@
                                    client_id,
                                    request_id)
 
+            elif ctype == "test_cancel_order":
+                # 鑾峰彇鐩稿悓鏉垮潡鐨勬定鍋滀唬鐮佹暟閲�
+                code = data.get("code")
+                trade_manager.start_cancel_buy(code, force=True)
+                self.send_response({"code": 0, "data": {}},
+                                   client_id,
+                                   request_id)
 
+            elif ctype == "set_total_deal_big_order_threshold_money":
+                code = data.get("code")
+                money = data.get("money")
+                if not code or not money:
+                    self.send_response({"code": 1, "data": {}, "msg": "code/money涓虹┖"},
+                                       client_id,
+                                       request_id)
+                    return
+                TotalDealBigOrderThresholdMoneyManager().set_money(code, int(money))
+                self.send_response({"code": 0, "data": {}},
+                                   client_id,
+                                   request_id)
+            elif ctype == "set_l_down_rate":
+                # 璁剧疆L鍚庢挙鍗曟瘮渚�
+                code = data.get("code")
+                rate = data.get("rate")
+                if rate < 0 or rate > 1:
+                    self.send_response({"code": 1, "msg": "姣斾緥鑼冨洿涓嶅湪0-1涔嬮棿"},
+                                       client_id,
+                                       request_id)
+                    return
+                CancelRateHumanSettingManager().set_l_down(code, rate)
+                self.send_response({"code": 0, "data": {}},
+                                   client_id,
+                                   request_id)
 
         except Exception as e:
             logging.exception(e)

--
Gitblit v1.8.0