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