From fd635fe4ec7e52226f700d79d58ca7b36c875927 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期三, 25 九月 2024 17:47:50 +0800 Subject: [PATCH] 代码板块匹配 --- api/outside_api_command_callback.py | 38 ++++++++++++++++++++++++++++++++------ 1 files changed, 32 insertions(+), 6 deletions(-) diff --git a/api/outside_api_command_callback.py b/api/outside_api_command_callback.py index 9fdf784..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,12 +35,13 @@ 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 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 @@ -180,7 +182,8 @@ msg_list.append(f"鎾ゅ崠鍗曟暟閲忥細{sell_count}") except Exception as e: logger_debug.exception(e) - can_cancel = l2_data_manager_new.L2TradeDataProcessor.cancel_buy(code, "鎵嬪姩鎾ゅ崟", cancel_type=trade_constant.CANCEL_TYPE_HUMAN) + 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: @@ -298,7 +301,8 @@ if operate == outside_api_command_manager.OPERRATE_SET: # 鍏堟墜鍔ㄦ挙鍗� try: - l2_data_manager_new.L2TradeDataProcessor.cancel_buy(code, "鎵嬪姩鎷夐粦", cancel_type=trade_constant.CANCEL_TYPE_HUMAN) + 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") @@ -1057,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 # 鑾峰彇娑ㄥ仠鏃堕棿 @@ -1210,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