From a933bf8e8e7f0c5a5131a95ed5d0f0b58bf9ac34 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期二, 22 八月 2023 14:29:35 +0800
Subject: [PATCH] 添加托管交易通道测试

---
 huaxin_client/trade_client.py |   26 +++++++++++++++++++++-----
 1 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/huaxin_client/trade_client.py b/huaxin_client/trade_client.py
index 91b50d7..4ff2723 100644
--- a/huaxin_client/trade_client.py
+++ b/huaxin_client/trade_client.py
@@ -148,6 +148,7 @@
     def cancel_buy(self, code, order_sys_id, sinfo):
         if sinfo in self.__cancel_buy_sinfo_set:
             raise Exception(f'鎾ゅ崟璇锋眰宸茬粡鎻愪氦锛歿sinfo}')
+        logger_local_huaxin_trade_debug.info(f"杩涘叆鎾ゅ崟鏂规硶锛歝ode-{code} order_sys_id-{order_sys_id} sinfo-{sinfo}")
         self.__cancel_buy_sinfo_set.add(sinfo)
         self.req_id += 1
         # 璇锋眰鎾ゅ崟
@@ -522,24 +523,32 @@
                                                                   "orderStatusMsg": pRspInfoField.ErrorMsg}),
                              daemon=True).start()
 
+    # 鎾ゅ崟鍝嶅簲
     def OnRspOrderAction(self, pInputOrderActionField: "CTORATstpInputOrderActionField",
                          pRspInfoField: "CTORATstpRspInfoField", nRequestID: "int") -> "void":
         if pRspInfoField.ErrorID == 0:
-            logger.info('OnRspOrderAction: OK! [%d]' % nRequestID)
+            logger_local_huaxin_trade_debug.info('OnRspOrderAction: OK! [%d]' % nRequestID)
             threading.Thread(target=lambda: self.__data_callback(TYPE_CANCEL_ORDER, nRequestID,
                                                                  {"sinfo": pInputOrderActionField.SInfo,
                                                                   "orderSysID": pInputOrderActionField.OrderSysID,
                                                                   "cancel": 1}), daemon=True).start()
 
         else:
-            logger.info('OnRspOrderAction: Error! [%d] [%d] [%s]'
-                        % (nRequestID, pRspInfoField.ErrorID, pRspInfoField.ErrorMsg))
+            logger_local_huaxin_trade_debug.info('OnRspOrderAction: Error! [%d] [%d] [%s]'
+                                                 % (nRequestID, pRspInfoField.ErrorID, pRspInfoField.ErrorMsg))
             threading.Thread(target=lambda: self.__data_callback(TYPE_CANCEL_ORDER, nRequestID,
                                                                  {"sinfo": pInputOrderActionField.SInfo,
                                                                   "orderSysID": pInputOrderActionField.OrderSysID,
                                                                   "cancel": 0, "errorID": pRspInfoField.ErrorID,
                                                                   "errorMsg": pRspInfoField.ErrorMsg}),
                              daemon=True).start()
+
+    # 鎾ゅ崟閿欒鍥炴姤
+    def OnErrRtnOrderAction(self, pInputOrderActionField: "CTORATstpInputOrderActionField",
+                            pRspInfoField: "CTORATstpRspInfoField", nRequestID: "int") -> "void":
+        logger_local_huaxin_trade_debug.info('OnErrRtnOrderAction: Error! [%d] [%d] [%d] [%s]'
+                                             % (nRequestID, pInputOrderActionField.OrderSysID, pRspInfoField.ErrorID,
+                                                pRspInfoField.ErrorMsg))
 
     def OnRspInquiryJZFund(self, pRspInquiryJZFundField: "CTORATstpRspInquiryJZFundField",
                            pRspInfoField: "CTORATstpRspInfoField", nRequestID: "int") -> "void":
@@ -565,8 +574,8 @@
                pOrderField.OrderRef, pOrderField.OrderLocalID,
                pOrderField.LimitPrice, pOrderField.VolumeTotalOriginal, pOrderField.OrderSysID,
                pOrderField.OrderStatus))
+        OrderIDManager.set_system_order_id(pOrderField.SecurityID, pOrderField.SInfo, pOrderField.OrderSysID)
         if pOrderField.OrderStatus != traderapi.TORA_TSTP_OST_Unknown:
-            OrderIDManager.set_system_order_id(pOrderField.SecurityID, pOrderField.SInfo, pOrderField.OrderSysID)
             threading.Thread(target=lambda: self.__data_callback(TYPE_ORDER, 0, {"sinfo": pOrderField.SInfo,
                                                                                  "securityId": pOrderField.SecurityID,
                                                                                  "orderLocalId": pOrderField.OrderLocalID,
@@ -732,7 +741,6 @@
                              daemon=True).start()
             self.__temp_order_list_dict.pop(nRequestID)
 
-
 # 鑾峰彇鍝嶅簲鍙戦�乻ocket
 global req_rid_dict
 req_rid_dict = {}
@@ -843,6 +851,12 @@
             send_response(json.dumps({"code": 1, "msg": str(e)}), "common", client_id,
                           request_id)
 
+    def OnTest(self, client_id, request_id, data):
+        logger_local_huaxin_trade_debug.info(f"娴嬭瘯閫氶亾锛歝lient_id-{client_id} request_id-{request_id} data-{data}")
+        send_response(
+            json.dumps({"type": "response", "data": {"code": 0, "data": data}, "client_id": client_id,
+                        "request_id": request_id}), type, client_id, request_id)
+
 
 def __init_trade_data_server():
     logger.info("鍒濆鍖栦氦鏄撴湇鍔″櫒")
@@ -939,7 +953,9 @@
         if local_order_id:
             if local_order_id not in cls.local_order_id_map and orderSystemId:
                 cls.local_order_id_map[local_order_id] = orderSystemId
+                logger_local_huaxin_trade_debug.info(f"鏈湴璁㈠崟鍙蜂笌绯荤粺璁㈠崟鍙锋槧灏勶紝{code}锛歿local_order_id} {orderSystemId}")
             if local_order_id in cls.not_canceled_local_order_ids:
+                logger_local_huaxin_trade_debug.info(f"鎵ц绛夊緟鎾ゅ崟锛寋code}锛歿local_order_id} {orderSystemId}")
                 # 鎵ц鎾ゅ崟
                 cls.not_canceled_local_order_ids.discard(local_order_id)
                 cls.__TradeSimpleApi.cancel_buy(code, orderSystemId,

--
Gitblit v1.8.0