From d3e52f9f71af4775f5e77988be4e63d3fec3b76f Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期四, 26 九月 2024 09:40:58 +0800 Subject: [PATCH] bug修复 --- api/outside_api_command_callback.py | 42 +++++++++++++++++++++++++++++++++++------- 1 files changed, 35 insertions(+), 7 deletions(-) diff --git a/api/outside_api_command_callback.py b/api/outside_api_command_callback.py index 3ea9aaa..e4fb093 100644 --- a/api/outside_api_command_callback.py +++ b/api/outside_api_command_callback.py @@ -1,4 +1,5 @@ import concurrent.futures +import copy import json import logging import threading @@ -34,13 +35,14 @@ logger_real_place_order_position, logger_device from output import l2_output_util from third_data import kpl_data_manager, kpl_util, history_k_data_manager, huaxin_l1_data_manager -from third_data.code_plate_key_manager import CodePlateKeyBuyManager +from third_data.code_plate_key_manager import CodePlateKeyBuyManager, KPLCodeJXBlockManager from third_data.history_k_data_manager import HistoryKDataManager from third_data.history_k_data_util import JueJinApi, HistoryKDatasUtils from third_data.kpl_data_manager import KPLDataManager from third_data.kpl_limit_up_data_manager import CodeLimitUpSequenceManager from third_data.kpl_util import KPLDataType -from trade import trade_manager, l2_trade_util, trade_data_manager +from third_data.third_blocks_manager import CodeThirdBlocksManager, SOURCE_TYPE_KPL, BlockMapManager +from trade import trade_manager, l2_trade_util, trade_data_manager, trade_constant import l2_data_util as l2_data_util_old from trade.huaxin import huaxin_trade_api, huaxin_trade_data_update, \ @@ -161,6 +163,7 @@ accountID = data["accountID"] orderSysID = data["orderSysID"] sinfo = data["sinfo"] + async_log_util.info(logger_trade, f"API鎾ゅ崟: {data}") if orderSysID: result = huaxin_trade_api.cancel_order(direction, code, orderSysID, sinfo=sinfo, blocking=True, request_id=request_id) @@ -179,11 +182,13 @@ msg_list.append(f"鎾ゅ崠鍗曟暟閲忥細{sell_count}") except Exception as e: logger_debug.exception(e) - can_cancel = l2_data_manager_new.L2TradeDataProcessor.cancel_buy(code, "鎵嬪姩鎾ゅ崟") + can_cancel = l2_data_manager_new.L2TradeDataProcessor.cancel_buy(code, "鎵嬪姩鎾ゅ崟", + cancel_type=trade_constant.CANCEL_TYPE_HUMAN) if not can_cancel: msg_list.append(f"鏃犳硶鎾や拱鍗�") else: msg_list.append(f"宸叉挙涔板崟") + async_log_util.info(logger_trade, f"API鎾ゅ崟缁撴灉: {msg_list}") self.send_response({"code": 0, "data": {"code": 0, "msg": "锛�".join(msg_list)}}, client_id, request_id) except Exception as e: @@ -296,7 +301,8 @@ if operate == outside_api_command_manager.OPERRATE_SET: # 鍏堟墜鍔ㄦ挙鍗� try: - l2_data_manager_new.L2TradeDataProcessor.cancel_buy(code, "鎵嬪姩鎷夐粦") + l2_data_manager_new.L2TradeDataProcessor.cancel_buy(code, "鎵嬪姩鎷夐粦", + cancel_type=trade_constant.CANCEL_TYPE_HUMAN) except Exception as e: logger_debug.exception(e) l2_trade_util.forbidden_trade(code, msg="鎵嬪姩鍔犲叆 trade_server") @@ -1055,7 +1061,8 @@ try: limit_up_sequence = CodeLimitUpSequenceManager.get_current_limit_up_sequence(code) if limit_up_sequence: - fdata['block'] = f"{limit_up_sequence[0]}-{limit_up_sequence[1]}({limit_up_sequence[2]}&{limit_up_sequence[2] - limit_up_sequence[3]})" + fdata[ + 'block'] = f"{limit_up_sequence[0]}-{limit_up_sequence[1]}({limit_up_sequence[2]}&{limit_up_sequence[2] - limit_up_sequence[3]})" except: pass # 鑾峰彇娑ㄥ仠鏃堕棿 @@ -1208,9 +1215,30 @@ self.send_response({"code": 0, "data": {}, "msg": f""}, client_id, request_id) + elif ctype == "get_code_third_blocks": + # 鑾峰彇绗笁鏂规澘鍧楁暟鎹� + code = data["code"] + source_dict = copy.deepcopy(CodeThirdBlocksManager().get_source_blocks(code)) + source_origin_dict = copy.deepcopy(CodeThirdBlocksManager().get_source_blocks_origin(code)) + kpl_blocks = KPLCodeJXBlockManager().get_jx_blocks_radical(code) + if kpl_blocks is None: + kpl_blocks = set() + match_blocks, info = CodeThirdBlocksManager().get_intersection_blocks_info(code, kpl_blocks) + source_origin_dict[SOURCE_TYPE_KPL] = kpl_blocks + source_dict[SOURCE_TYPE_KPL] = BlockMapManager().filter_blocks(kpl_blocks) + data = { + "blocks": {}, + "origin_blocks": {}, + "match_blocks": list(match_blocks) + } + for s in source_origin_dict: + data["origin_blocks"][s] = list(source_origin_dict[s]) + for s in source_dict: + data["blocks"][s] = list(source_dict[s]) - - + self.send_response({"code": 0, "data": data, "msg": f""}, + client_id, + request_id) except Exception as e: logging.exception(e) self.send_response({"code": 1, "msg": f"鏁版嵁澶勭悊鍑洪敊锛歿e}"}, client_id, request_id) -- Gitblit v1.8.0