From b01a946cdbd1adc0f25d2d1899ea7802ff13b13d Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期五, 29 十二月 2023 17:48:35 +0800
Subject: [PATCH] 选票需求修改

---
 third_data/kpl_api.py |   95 +++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 91 insertions(+), 4 deletions(-)

diff --git a/third_data/kpl_api.py b/third_data/kpl_api.py
index c82f5e0..831c5ac 100644
--- a/third_data/kpl_api.py
+++ b/third_data/kpl_api.py
@@ -3,6 +3,7 @@
 
 import requests
 
+import constant
 from utils import middle_api_protocol
 
 # 绔炰环
@@ -39,7 +40,7 @@
 def daBanList(pidType, page_size=50, index=0):
     data = f"Order=1&a=DaBanList&st={page_size}&c=HomeDingPan&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23" \
            f"&VerSion=5.8.0.2&Index={index}&Is_st=1&PidType={pidType}&apiv=w32&Type=4&FilterMotherboard=0&Filter=0&FilterTIB=0" \
-           "&FilterGem=0 "
+           "&FilterGem=0"
     result = __base_request("https://apphq.longhuvip.com/w1/api/index.php", data=data)
     return result
 
@@ -59,6 +60,19 @@
         elif len(list_) > MAX_SIZE:
             return json.dumps(result)
     return None
+
+
+def getHistoryLimitUpInfo(day):
+    fresults = []
+    for i in range(0, 5):
+        data = f"Order=1&a=HisDaBanList&st=20&c=HisHomeDingPan&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&Index={i * 20}&Is_st=1&PidType=1&apiv=w32&Type=6&FilterMotherboard=0&Filter=0&FilterTIB=0&Day={day}&FilterGem=0&"
+        result = __base_request("https://apphis.longhuvip.com/w1/api/index.php", data=data)
+        result = json.loads(result)
+        result = result["list"]
+        fresults.extend(result)
+        if len(result) < 20:
+            break
+    return fresults
 
 
 # 甯傚満琛屾儏-琛屼笟
@@ -134,7 +148,80 @@
     return None
 
 
+# 鑾峰彇F10涓殑绮鹃�夋澘鍧�
+def __getConceptJXBK(code):
+    data = f"a=GetConceptJXBKw23&apiv=w32&c=StockF10Basic&StockID={code}&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&"
+    result = __base_request("https://apparticle.longhuvip.com/w1/api/index.php", data=data, timeout=3)
+    result = json.loads(result)
+    if result:
+        if "List" in result:
+            names = [x["CName"].replace("姒傚康", "") for x in result["List"]]
+            return names
+    return []
+
+
+# 鑾峰彇F10甯歌鏉垮潡
+def __getConceptBK(code):
+    data = f"a=GetConceptw23&apiv=w32&c=StockF10Basic&StockID={code}&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&"
+    result = __base_request("https://apparticle.longhuvip.com/w1/api/index.php", data=data, timeout=3)
+    result = json.loads(result)
+    if result:
+        if "List" in result:
+            names = [x["CName"].replace("姒傚康", "") for x in result["List"]]
+            return names
+    return []
+
+
+# 鑾峰彇浠g爜鐨勬澘鍧�
+def getCodeBlocks(code):
+    blocks = []
+    try:
+        _bks = __getConceptJXBK(code)
+        if _bks:
+            blocks.extend(_bks)
+    except:
+        pass
+
+    try:
+        _bks = __getConceptBK(code)
+        if _bks:
+            blocks.extend(_bks)
+    except:
+        pass
+    return list(set(blocks))
+
+
+# 鑾峰彇F10閲岄潰鐨勫ぇ浜嬩欢
+def __getF10BigReminders(code):
+    data = f"a=BigReminder&st=25&apiv=w32&c=StockF10Basic&StockID={code}&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb8-6d893c846e23&VerSion=5.8.0.2&Index=0&"
+    result = __base_request("https://apparticle.longhuvip.com/w1/api/index.php", data=data, timeout=3)
+    result = json.loads(result)
+    if int(result["errcode"]) == 0:
+        return result["info"]
+    return None
+
+
+# 鑾峰彇鑲$エ鍑忔寔鏃ユ湡
+def getCodeReductionDate(code):
+    infos = __getF10BigReminders(code)
+    if not infos:
+        return None
+    keys = ["缁堟", "缁撴潫", "缁撴灉", "涓嶅噺鎸�", "瀹屾垚"]
+    for info in infos:
+        if info.get("type") == 5:
+            title = str(info.get("title"))
+            if title.find("鍑忔寔") < 0:
+                continue
+            wrong = False
+            for k in keys:
+                if title.find(k) >= 0:
+                    wrong = True
+            if wrong:
+                continue
+            return info.get("date").split(" ")[0]
+    return None
+
+
 if __name__ == "__main__":
-    limit_up_infos = getLimitUpInfo()
-    limit_up_infos = json.loads(limit_up_infos)
-    print(limit_up_infos)
+    results = getHistoryLimitUpInfo("2023-12-26")
+    print(results)

--
Gitblit v1.8.0