From 54d95545eb415d5a9420c87dcb6383e788049f45 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期一, 25 十一月 2024 18:36:39 +0800 Subject: [PATCH] 增加板块成分股查询接口 --- servers/data_server.py | 31 ++++++++++++++++++++++++++++++- 1 files changed, 30 insertions(+), 1 deletions(-) diff --git a/servers/data_server.py b/servers/data_server.py index 5859696..01f283a 100644 --- a/servers/data_server.py +++ b/servers/data_server.py @@ -3,8 +3,10 @@ import logging import socketserver import time +import urllib from http.server import BaseHTTPRequestHandler import dask +import requests from code_attribute.gpcode_manager import BlackListCodeManager from l2.l2_transaction_data_manager import HuaXinBuyOrderManager @@ -107,7 +109,7 @@ codes_ = BlockSpecialCodesManager().get_block_codes(b[0]) if not codes_: codes_ = set() - b[4] = len(set(record_reason_dict[b[0]])&set(codes_)) + b[4] = len(set(record_reason_dict[b[0]]) & set(codes_)) except: pass limit_up_reason_statistic_info.sort(key=lambda x: x[1] - x[2]) @@ -813,6 +815,33 @@ response_data = json.dumps({"code": 0, "data": fdatas}) except: pass + elif url.path == "/get_block_codes_with_money": + # 鑾峰彇鏉垮潡璧勯噾娴佸叆鐘跺喌 + ps_dict = dict([(k, v[0]) for k, v in parse_qs(url.query).items()]) + block = ps_dict.get("block") + # 鏄惁鍊掑簭鎺� + desc = int(ps_dict.get("desc")) + try: + response_data = requests.get( + "http://127.0.0.1:9005/get_block_codes_money?block=" + urllib.parse.quote(block)) + r_str = response_data.text + response_data = json.loads(r_str) + if response_data["code"] == 0: + datas = response_data["data"] + fdatas = [] + for d in datas: + # (浠g爜, 鍚嶇О, 娴佸叆閲戦, 鏄惁琚帓闄ゆ垚鍒嗚偂) + fdatas.append((d[0], gpcode_manager.get_code_name(d[0]), d[1], d[2])) + if desc: + fdatas.sort(key=lambda x: x[2], reverse=True) + else: + fdatas.sort(key=lambda x: x[2]) + fdatas = fdatas[:50] + response_data = json.dumps({"code": 0, "data": fdatas}) + else: + response_data = r_str + 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