From f9c8c7c7528b75a968dc0dae3e8ed8d325d178b8 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期五, 25 八月 2023 17:27:08 +0800
Subject: [PATCH] 交易通道备用

---
 trade/huaxin/trade_server.py     |   33 ++++++++++++++++++++++-----------
 huaxin_client/command_manager.py |   14 +++++++-------
 2 files changed, 29 insertions(+), 18 deletions(-)

diff --git a/huaxin_client/command_manager.py b/huaxin_client/command_manager.py
index 0831146..785ea4c 100644
--- a/huaxin_client/command_manager.py
+++ b/huaxin_client/command_manager.py
@@ -79,6 +79,12 @@
 
     @classmethod
     def process_command(cls, _type, client_id, result_json, sk=None):
+        # 鏌ョ湅鏄惁鏄缃甃2鐨勪唬鐮�
+        if _type == CLIENT_TYPE_CMD_L2:
+            cls.pipe_l2.send(
+                json.dumps({"type": "set_l2_codes", "data": result_json["data"]}))
+            return
+
         try:
             data = result_json["data"]
             print("鎺ユ敹鍐呭", result_json)
@@ -123,13 +129,7 @@
                         val = json.loads(val)
                         print("run_process_command", val)
                         _type = val["type"]
-                        _data = val["data"]
-                        # 鏌ョ湅鏄惁鏄缃甃2鐨勪唬鐮�
-                        if _type == CLIENT_TYPE_CMD_L2:
-                            cls.pipe_l2.send(
-                                json.dumps({"type": "set_l2_codes", "data": _data}))
-                        else:
-                            threading.Thread(target=lambda: cls.process_command(_type, None, val), daemon=True).start()
+                        threading.Thread(target=lambda: cls.process_command(_type, None, val), daemon=True).start()
                 except Exception as e:
                     logger_local_huaxin_trade_debug.exception(e)
                     logging.exception(e)
diff --git a/trade/huaxin/trade_server.py b/trade/huaxin/trade_server.py
index a259414..6d775da 100644
--- a/trade/huaxin/trade_server.py
+++ b/trade/huaxin/trade_server.py
@@ -32,7 +32,7 @@
 from log_module import async_log_util
 from log_module.log import hx_logger_l2_upload, hx_logger_contact_debug, hx_logger_trade_callback, \
     hx_logger_l2_orderdetail, hx_logger_l2_transaction, hx_logger_l2_market_data, logger_l2_trade_buy_queue, \
-    logger_l2_g_cancel
+    logger_l2_g_cancel, logger_debug
 from third_data import block_info, kpl_api, kpl_data_manager
 from third_data.code_plate_key_manager import KPLCodeJXBlockManager, CodePlateKeyBuyManager
 from third_data.history_k_data_util import JueJinApi, HistoryKDatasUtils
@@ -362,7 +362,8 @@
                             is_normal = l2_data_util.load_l2_data(code, load_latest=False)
                             volume_rate = code_volumn_manager.get_volume_rate(code)
                             volume_rate_index = code_volumn_manager.get_volume_rate_index(volume_rate)
-                            m_val = L2PlaceOrderParamsManager(code, True, volume_rate, volume_rate_index, None).get_m_val()[
+                            m_val = \
+                            L2PlaceOrderParamsManager(code, True, volume_rate, volume_rate_index, None).get_m_val()[
                                 0]
                             limit_up_price = gpcode_manager.get_limit_up_price(code)
                             m_val_num = int(m_val / (float(limit_up_price) * 100))
@@ -481,9 +482,15 @@
                 accountID = data["accountID"]
                 orderSysID = data["orderSysID"]
                 sinfo = data["sinfo"]
-                result = huaxin_trade_api.cancel_order(direction, accountID, orderSysID, sinfo=sinfo,
-                                                       blocking=True, request_id=request_id)
-                self.send_response({"code": 0, "data": result}, client_id, request_id)
+                if orderSysID:
+                    result = huaxin_trade_api.cancel_order(direction, accountID, orderSysID, sinfo=sinfo,
+                                                           blocking=True, request_id=request_id)
+                    self.send_response({"code": 0, "data": result}, client_id, request_id)
+                elif code:
+                    l2_data_manager_new.L2TradeDataProcessor.cancel_buy(code, "鎵嬪姩鎾ゅ崟")
+                    self.send_response({"code": 0, "data": {"code": 0}}, client_id, request_id)
+
+
         except Exception as e:
             self.send_response({"code": 1, "msg": str(e)}, client_id, request_id)
 
@@ -719,11 +726,15 @@
 
     # 鍚屾L2璁㈤槄浠g爜
     def OnSyncL2SubscriptCodes(self, client_id, request_id):
-        codes_sh, codes_sz = l1_subscript_codes_manager.request_l1_subscript_target_codes()
-        if codes_sh and codes_sz:
-            l1_subscript_codes_manager.save_codes(codes_sh, codes_sz)
-        result = {"code": 0, "data": {"codes_sh": len(codes_sh), "codes_sz": len(codes_sz)}}
-        self.send_response(result, client_id, request_id)
+        logger_debug.debug("OnSyncL2SubscriptCodes")
+        try:
+            codes_sh, codes_sz = l1_subscript_codes_manager.request_l1_subscript_target_codes()
+            if codes_sh and codes_sz:
+                l1_subscript_codes_manager.save_codes(codes_sh, codes_sz)
+            result = {"code": 0, "data": {"codes_sh": len(codes_sh), "codes_sz": len(codes_sz)}}
+            self.send_response(result, client_id, request_id)
+        except Exception as e:
+            logger_debug.error(e)
 
 
 def run(pipe_trade, pipe_l1):
@@ -758,7 +769,7 @@
 
 
 if __name__ == "__main__":
-    code="603106"
+    code = "603106"
     l2_data_util.load_l2_data(code, load_latest=False)
     buy_no_map = l2_data_util.local_today_buyno_map.get(code)
     print(buy_no_map.get("6114878"))

--
Gitblit v1.8.0