From 0f04dc8c629f970d52ea5938dd60a54736b515b1 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期三, 25 六月 2025 15:09:44 +0800
Subject: [PATCH] bug修复/策略完善/结构调整

---
 api/outside_api_callback.py |   28 +++++++++++++++++++++++++++-
 1 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/api/outside_api_callback.py b/api/outside_api_callback.py
index b39f369..bc65062 100644
--- a/api/outside_api_callback.py
+++ b/api/outside_api_callback.py
@@ -10,6 +10,7 @@
 from huaxin_client.client_network import SendResponseSkManager
 from strategy import strategy_params_settings, env_info, strategy_manager
 from strategy.env_info import RealTimeEnvInfo
+from strategy.strategy_manager import PlateWhiteListManager
 from strategy.strategy_variable_factory import DataLoader
 from third_data.history_k_data_manager import TradeDateManager
 from third_data.kpl_block_manager import KPLCodeJXBlocksManager
@@ -17,6 +18,10 @@
 from trade.trade_manager import TradeStateManager
 from utils import socket_util, middle_api_protocol, tool
 
+OPERRATE_SET = 1  # 璁剧疆
+OPERRATE_DELETE = 2  # 鍒犻櫎
+OPERRATE_GET = 3  # 鑾峰彇
+OPERRATE_ADD = 4  # 鏂板
 
 class MyAPICallback(ActionCallback):
 
@@ -62,12 +67,16 @@
         @return:
         """
         settings = strategy_params_settings.StrategyParamsSettingsManager().get_settings()
+        settings_vars = vars(settings)
         for k in data:
             if k == "trade_state":
                 if data[k]:
                     TradeStateManager().open_buy()
                 else:
                     TradeStateManager().close_buy()
+                continue
+            if k not in settings_vars:
+                # 娌℃湁鍦ㄥ睘鎬ч噷闈�
                 continue
             settings.__setattr__(k, data[k])
         strategy_params_settings.StrategyParamsSettingsManager().set_settings(settings)
@@ -158,6 +167,22 @@
             logging.exception(e)
             return {"code": 1, "msg": str(e)}
 
+    def __on_plate_white_list(self, data):
+        operate = data["operate"]
+        if operate == OPERRATE_GET:
+           plates =   PlateWhiteListManager().get_plates()
+           return {"code": 0, "data": list(plates)}
+        elif operate == OPERRATE_ADD:
+            plate = data["plate"]
+            PlateWhiteListManager().add_plate(plate)
+            return {"code": 0}
+        elif operate == OPERRATE_DELETE:
+            plate = data["plate"]
+            PlateWhiteListManager().remove_plate(plate)
+            return {"code": 0}
+
+
+
     def OnCommonRequest(self, client_id, request_id, data):
         ctype = data["ctype"]
         result_json = {}
@@ -182,5 +207,6 @@
             # 鑾峰彇涓嬪崟璁板綍
             datas = trade_record_log_util.get_trade_records(trade_record_log_util.TYPE_PLACE_ORDER)
             result_json = {"code": 0, "data": datas}
-
+        elif ctype == 'plate_white_list':
+            result_json = self.__on_plate_white_list(data)
         self.send_response(result_json, client_id, request_id)

--
Gitblit v1.8.0