From d1bf04791ad095b17660a1f383b7a12f0a59b1d1 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期三, 26 四月 2023 19:15:06 +0800
Subject: [PATCH] 优化H撤/融入网页看盘页面/开盘啦数据应用

---
 third_data/kpl_util.py |  128 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 111 insertions(+), 17 deletions(-)

diff --git a/third_data/kpl_util.py b/third_data/kpl_util.py
index 4c0f0ab..68fe651 100644
--- a/third_data/kpl_util.py
+++ b/third_data/kpl_util.py
@@ -1,3 +1,4 @@
+import enum
 import json
 
 
@@ -44,36 +45,129 @@
 # (浠g爜,鍚嶇О,娑ㄥ箙,鏉垮潡,瀹為檯娴侀��)
 # (0,1,4,11,15)
 
-TYPE_BIDDING = 8
-TYPE_LIMIT_UP = 1
-TYPE_OPEN_LIMIT_UP = 2
-TYPE_LIMIT_DOWN = 3
-TYPE_EVER_LIMIT_DOWN = 5
+DABAN_TYPE_BIDDING = 8
+DABAN_TYPE_LIMIT_UP = 1
+DABAN_TYPE_OPEN_LIMIT_UP = 2
+DABAN_TYPE_LIMIT_DOWN = 3
+DABAN_TYPE_EVER_LIMIT_DOWN = 5
 
 
-def __parseItemData(data, type):
-    if type == TYPE_BIDDING:
+class KPLDataType(enum.Enum):
+    BIDDING = "biddings"
+    LIMIT_UP = "limit_up"
+    OPEN_LIMIT_UP = "open_limit_up"
+    LIMIT_DOWN = "limit_down"
+    EVER_LIMIT_DOWN = "ever_limit_down"
+    FENG_KOU = "feng_kou"
+    BEST_FENG_KOU = "best_feng_kou"
+    FENG_XIANG = "feng_xiang"
+    INDUSTRY_RANK = "industry_rank"
+
+
+def __parseDaBanItemData(data, type):
+    if type == DABAN_TYPE_BIDDING:
         return data[0], data[1], data[18], data[11], data[22], data[15]
-    elif type == TYPE_LIMIT_UP:
+    elif type == DABAN_TYPE_LIMIT_UP:
         return data[0], data[1], data[6], data[25], data[9], data[16], data[11], data[15], data[12]
-    elif type == TYPE_OPEN_LIMIT_UP:
+    elif type == DABAN_TYPE_OPEN_LIMIT_UP:
         return data[0], data[1], data[4], data[11], data[15]
-    elif type == TYPE_LIMIT_DOWN:
+    elif type == DABAN_TYPE_LIMIT_DOWN:
         return data[0], data[1], data[11], data[15]
-    elif type == TYPE_EVER_LIMIT_DOWN:
+    elif type == DABAN_TYPE_EVER_LIMIT_DOWN:
         return data[0], data[1], data[4], data[11], data[15]
 
     return None
 
 
-def parseData(data, type):
-    data = json.loads(data)
-    if data["errcode"] != 0:
+# 鏈�寮洪鍙�
+# (浠g爜,鍚嶇О,寮哄害,娑ㄥ箙,鐑棬鏉垮潡,鎵�鏈夋澘鍧�)
+def __parseBestFengKouItemData(data):
+    return data[0], data[1], data[2], data[4], data[12], data[10]
+
+
+# 甯傚満椋庡彛
+# (浠g爜,鍚嶇О,娑ㄥ箙,涓诲姏鍑�棰�,椋庡彛姒傚康)
+def __parseFengKouItemData(data):
+    return data[0], data[1], data[3], data[7], data[11]
+
+
+# 椋庡悜鏍�
+# (浠g爜, 鍚嶇О, 鐜颁环, 娑ㄥ箙, 鏉垮潡, 300涓囧ぇ鍗曞噣棰�, 涓诲姏鍑�棰�, 鑷敱甯傚��)
+def __parseFengXiangBiaoItemData(data):
+    return data[0], data[1], data[5], data[6], data[4], data[-3], data[13], data[10]
+
+
+# 琛屼笟娑ㄥ箙
+# (浠g爜,鍚嶇О,涓诲姏鍑�棰�,娑ㄨ穼骞�)
+def __parseIndustry_rank(data):
+    return data[0], data[1], data[6], data[3]
+
+
+def parseDaBanData(data, type_):
+    if type(data) == str:
+        data = json.loads(data)
+    if int(data["errcode"]) != 0:
         raise Exception(f"瑙f瀽鏁版嵁鍑洪敊锛宔rrcode锛歿data['errcode']}")
     list_ = data["list"]
     fresult_ = []
     for d in list_:
-        pdata = __parseItemData(d, type)
+        pdata = __parseDaBanItemData(d, type_)
         if pdata:
-            fresult_ .append(pdata)
-    return fresult_ 
\ No newline at end of file
+            fresult_.append(pdata)
+    return fresult_
+
+
+def parseFengKou(data):
+    if type(data) == str:
+        data = json.loads(data)
+    if int(data["errcode"]) != 0:
+        raise Exception(f"瑙f瀽鏁版嵁鍑洪敊锛宔rrcode锛歿data['errcode']}")
+    list_ = data["List"]
+    fresult_ = []
+    for d in list_:
+        pdata = __parseFengKouItemData(d)
+        if pdata:
+            fresult_.append(pdata)
+    return fresult_
+
+
+def parseBestFengKou(data):
+    if type(data) == str:
+        data = json.loads(data)
+    if int(data["errcode"]) != 0:
+        raise Exception(f"瑙f瀽鏁版嵁鍑洪敊锛宔rrcode锛歿data['errcode']}")
+    list_ = data["List"]
+    fresult_ = []
+    for d in list_:
+        pdata = __parseBestFengKouItemData(d)
+        if pdata:
+            fresult_.append(pdata)
+    return fresult_
+
+
+def parseFengXiang(data):
+    if type(data) == str:
+        data = json.loads(data)
+    if int(data["errcode"]) != 0:
+        raise Exception(f"瑙f瀽鏁版嵁鍑洪敊锛宔rrcode锛歿data['errcode']}")
+    list_ = data["list"]
+    fresult_ = []
+    for d in list_:
+        pdata = __parseFengXiangBiaoItemData(d)
+        if pdata:
+            fresult_.append(pdata)
+    return fresult_
+
+
+def parseIndustryRank(data):
+    if type(data) == str:
+        data = json.loads(data)
+    if int(data["errcode"]) != 0:
+        raise Exception(f"瑙f瀽鏁版嵁鍑洪敊锛宔rrcode锛歿data['errcode']}")
+    list_ = data["list"]
+    fresult_ = []
+    for d in list_:
+        pdata = __parseIndustry_rank(d)
+        if pdata:
+            fresult_.append(pdata)
+    return fresult_
\ No newline at end of file

--
Gitblit v1.8.0