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