From e90601a93ef11d553ae1c8666ab9be8c587b1f49 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期三, 04 十二月 2024 17:14:44 +0800 Subject: [PATCH] 增加L2订阅列表接口/华鑫交易登录参数修改 --- servers/data_server.py | 31 +++++++++++++++++++++++++++++-- 1 files changed, 29 insertions(+), 2 deletions(-) diff --git a/servers/data_server.py b/servers/data_server.py index ac3bc3e..86a5cd8 100644 --- a/servers/data_server.py +++ b/servers/data_server.py @@ -36,7 +36,7 @@ from output import code_info_output, limit_up_data_filter, output_util, kp_client_msg_manager from trade import bidding_money_manager, trade_manager, l2_trade_util, trade_record_log_util, trade_constant, \ - trade_data_manager + trade_data_manager, current_price_process_manager import concurrent.futures # 绂佺敤http.server鐨勬棩蹇楄緭鍑� @@ -812,7 +812,7 @@ datas = self.__kplDataManager.get_data(KPLDataType.JINGXUAN_RANK) fdatas = datas # 杩斿洖鏄惁鍦ㄦ祦鍏ュ墠鍑� - temp_datas=[] + temp_datas = [] for d in fdatas: temp = list(d) if d[1] in in_blocks: @@ -871,6 +871,33 @@ except Exception as e: response_data = json.dumps({"code": 1, "data": str(1)}) + elif url.path == "/get_l2_subscript_codes": + # 鑾峰彇L2璁㈤槄鐨勪唬鐮� + ps_dict = dict([(k, v[0]) for k, v in parse_qs(url.query).items()]) + try: + records = LimitUpDataConstant.history_limit_up_datas + # 鑾峰彇鍘嗗彶娑ㄥ仠 + if not records: + KPLLimitUpDataRecordManager.load_total_datas() + records = KPLLimitUpDataRecordManager.total_datas + if not records: + records = [] + codes = set([x[3] for x in records]) + fdatas = [] + if codes: + block_top_in_list = RealTimeKplMarketData.top_in_list_cache + in_blocks = [x[1] for x in block_top_in_list] + yesterday_codes = kpl_data_manager.get_yesterday_limit_up_codes() + if yesterday_codes is None: + yesterday_codes = set() + for code in codes: + index = current_price_process_manager.compute_code_order(code, in_blocks[:30], yesterday_codes) + if 0 <= index <= 1000: + fdatas.append((code, gpcode_manager.get_code_name(code))) + response_data = json.dumps({"code": 0, "data": fdatas}) + except Exception as e: + response_data = json.dumps({"code": 1, "data": str(1)}) + async_log_util.info(logger_request_api, f"缁撴潫璇锋眰{tool.get_thread_id()}-{url}") self.send_response(200) # 鍙戠粰璇锋眰瀹㈡埛绔殑鍝嶅簲鏁版嵁 -- Gitblit v1.8.0