From ec4cc6d4ccba433cf10678b3d767e588a2d00e91 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 16 十二月 2024 16:57:33 +0800
Subject: [PATCH] 去除掘金依赖

---
 utils/network_delegate_manager.py |  173 ---------------------------------------------------------
 1 files changed, 1 insertions(+), 172 deletions(-)

diff --git a/utils/network_delegate_manager.py b/utils/network_delegate_manager.py
index 9bda346..9a055f0 100644
--- a/utils/network_delegate_manager.py
+++ b/utils/network_delegate_manager.py
@@ -9,8 +9,6 @@
 
 import setting
 import trade_gui
-from convertible_bonds.main import JueJinUtil
-from juejin_core import JueJinApi
 from kpl import kpl_util, kpl_api
 from kpl.kpl_data_manager import KPLLimitUpDataManager
 from utils import tool, xgb_api
@@ -32,17 +30,11 @@
         elif url.startswith("/kpl/get_plate_codes"):
             return cls.__get_plate_codes(url)
 
-        elif url.startswith("/get_last_trade_day_reasons"):
-            return cls.__get_last_trade_day_reasons(url)
-
         elif url.startswith("/get_xgb_limit_up_reasons"):
             return cls.__get_xgb_limit_up_reasons(url)
 
         elif url.startswith("/get_kpl_market_feelings"):
             return cls.__get_kpl_market_feelings()
-        elif url.startswith("/get_cb_list"):
-            # 鑾峰彇鍙浆鍊虹殑鍒楄〃
-            return cls.get_cb_list()
         elif url.startswith("/buy_by_ths"):
             # 鑾峰彇鍙浆鍊虹殑鍒楄〃
             return cls.buy_by_ths(url)
@@ -162,119 +154,10 @@
         response_data = json.dumps({"code": 0, "data": results})
         return response_data, True
 
-    @classmethod
-    def get_codes_limit_rate(cls, codes):
-        return cls.__get_codes_limit_rate(codes)
 
     # 鑾峰彇鏄ㄦ棩鏀剁洏浠�
     __pre_close_cache = {}
 
-    @classmethod
-    def __get_codes_limit_rate(cls, codes):
-        latest_info_codes = set()
-        for code in codes:
-            if code not in cls.__pre_close_cache:
-                latest_info_codes.add(code)
-        if latest_info_codes:
-            datas = JueJinApi.get_gp_latest_info(latest_info_codes, fields="sec_id,pre_close")
-            for data in datas:
-                code = data["sec_id"]
-                pre_close = data['pre_close']
-                cls.__pre_close_cache[code] = pre_close
-
-        current_info = JueJinApi.get_gp_current_info(codes, fields="symbol,price")
-        now_prices = [(c["symbol"].split(".")[1], c["price"]) for c in current_info]
-        f_results = []
-        for data in now_prices:
-            code = data[0]
-            price = data[1]
-            pre_price = float(cls.__pre_close_cache.get(code))
-            rate = round((price - pre_price) * 100 / pre_price, 2)
-            f_results.append((code, rate))
-        f_results.sort(key=lambda tup: tup[1])
-        f_results.reverse()
-        return f_results
-
-    @classmethod
-    def __get_limit_rate_list(cls, codes):
-        if not codes:
-            return []
-        need_request_codes = set()
-        if tool.trade_time_sub(tool.get_now_time_str(), "09:30:00") < 0:
-            need_request_codes |= set(codes)
-        else:
-            now_time = time.time()
-            for c in codes:
-                if c not in cls.__code_limit_rate_dict:
-                    need_request_codes.add(c)
-                elif now_time - cls.__code_limit_rate_dict[c][1] > 60:
-                    need_request_codes.add(c)
-        if need_request_codes:
-            _limit_rate_list = cls.__get_codes_limit_rate(list(need_request_codes))
-            for d in _limit_rate_list:
-                cls.__code_limit_rate_dict[d[0]] = (d[1], time.time())
-        return [(c_, cls.__code_limit_rate_dict[c_][0]) for c_ in codes]
-
-    @classmethod
-    def __get_last_trade_day_reasons(cls, url):
-        # 鑾峰彇 鏄ㄦ棩娑ㄥ仠鏁版嵁
-        ps_dict = dict([(k, v[0]) for k, v in parse_qs(urlparse(url).query).items()])
-        code = ps_dict["code"]
-        # 鑾峰彇鏄ㄦ棩娑ㄥ仠鏁版嵁
-        day = JueJinApi.get_previous_trading_date_cache(tool.get_now_date_str())
-        # (浠g爜, 鍚嶇О, 棣栨娑ㄥ仠鏃堕棿, 鏈�杩戞定鍋滄椂闂�, 鍑犳澘, 娑ㄥ仠鍘熷洜, 鏉垮潡, 瀹為檯娴侀��, 涓诲姏鍑�棰�, 娑ㄥ仠鍘熷洜浠g爜, 娑ㄥ仠鍘熷洜浠g爜鏁伴噺)
-        limit_up_records = KPLLimitUpDataManager().get_limit_up_history_datas_cache(day)
-        if not limit_up_records:
-            limit_up_records = []
-        reasons = []
-        for d in limit_up_records:
-            if d[0] == code:
-                reasons.append(d)
-        # 鑾峰彇浠g爜鐨勫師鍥�
-        if reasons:
-            reasons = list(reasons)
-            reasons.sort(key=lambda x: x[9])
-            reason = reasons[-1][5]
-            # 鑾峰彇娑ㄥ仠鏁版嵁
-            datas = KPLLimitUpDataManager().get_limit_up_current_datas_cache(day)
-            # (浠g爜,鍚嶇О,棣栨娑ㄥ仠鏃堕棿,鏈�杩戞定鍋滄椂闂�,鍑犳澘,娑ㄥ仠鍘熷洜,鏉垮潡,瀹為檯娴侀��,涓诲姏鍑�棰�,娑ㄥ仠鍘熷洜浠g爜,娑ㄥ仠鍘熷洜浠g爜鏁伴噺)
-            yesterday_result_list = []
-            percent_rate = 0
-            if datas:
-                yesterday_codes = set()
-                for d in datas:
-                    if d[5] == reason:
-                        yesterday_codes.add(d[0])
-                # 鑾峰彇娑ㄥ箙
-                limit_rate_list = cls.__get_limit_rate_list(yesterday_codes)
-                limit_rate_dict = {}
-                if limit_rate_list:
-                    total_rate = 0
-                    for d in limit_rate_list:
-                        limit_rate_dict[d[0]] = d[1]
-                        total_rate += d[1]
-                    percent_rate = round(total_rate / len(limit_rate_list), 2)
-
-                for d in datas:
-                    if d[5] == reason:
-                        yesterday_codes.add(d[0])
-                        if d[0] != code:
-                            # (浠g爜,鍚嶇О, 娑ㄥ箙)
-                            yesterday_result_list.append((d[0], d[1], limit_rate_dict.get(d[0])))
-
-            current_limit_up_list = KPLLimitUpDataManager().get_limit_up_current_datas()
-            current_result_list = []
-            if current_limit_up_list:
-                for c in current_limit_up_list:
-                    if c[5] == reason and c[0] != code:
-                        current_result_list.append((c[0], c[1]))
-            response_data = json.dumps({"code": 0, "data": {"reason": reason, "reason_rate": percent_rate,
-                                                            "data": {"yesterday": yesterday_result_list,
-                                                                     "current": current_result_list}}})
-        else:
-            response_data = json.dumps({"code": 1, "msg": "鏄ㄦ棩鏈定鍋�"})
-
-        return response_data, True
 
     @classmethod
     def __get_xgb_limit_up_reasons(cls, url):
@@ -319,58 +202,6 @@
     __cb_codes_list = None  # 鎵�鏈夊彲杞�烘暟鎹�
     __pre_price_dict = {}  # 鏄ㄦ棩鏀剁洏浠�
 
-    # 鑾峰彇鍙浆鍊虹殑鍒楄〃
-    @classmethod
-    def get_cb_list(cls):
-        # 鑾峰彇鎵�鏈夊彲杞�哄垪琛�
-        if not cls.__cb_codes_list:
-            cls.__cb_codes_list = JueJinUtil.get_all_convertible_bonds_codes()
-            # 鑾峰彇鏄ㄦ棩鏀剁洏浠�
-            symbols = [x[0][0] for x in cls.__cb_codes_list]
-            symbols.extend([x[1] for x in cls.__cb_codes_list])
-            # 鑾峰彇鐜颁环
-            results = JueJinApi.get_gp_latest_info(symbols, fields='symbol,pre_close')
-            cls.__pre_price_dict = {x['symbol']: x['pre_close'] for x in results}
-
-        # 鑾峰彇娑ㄥ仠鍒楄〃
-        records = KPLLimitUpDataManager().get_limit_up_history_datas()
-        currents = KPLLimitUpDataManager().get_limit_up_current_datas()
-        current_codes = [d[0] for d in currents]
-        record_codes = [d[0] for d in records]
-        record_map = {}
-        for r in records:
-            record_map[r[0]] = r
-        # 鏍煎紡[锛圼杞�轰唬鐮�,杞�哄悕绉�, (鐜颁环,娑ㄥ箙)],[姝h偂浠g爜,姝h偂鍚嶇О,(鐜颁环,娑ㄥ箙)],姝h偂娑ㄥ仠鏃堕棿,鏄惁鐐告澘锛塢
-        datas = []
-        for b in cls.__cb_codes_list:
-            code = b[1].split(".")[1]
-            if code in record_codes:
-                if record_map[code][4] != '棣栨澘':
-                    continue
-                datas.append(
-                    [[b[0][0], b[0][1], None], [b[1], record_map[code][1], None], tool.time_format(record_map[code][2]),
-                     code not in current_codes])
-        # 鑾峰彇鎵�鏈夌殑娑ㄥ箙
-        symbols = []
-        for d in datas:
-            symbols.append(d[0][0])
-            symbols.append(d[1][0])
-        # 鑾峰彇褰撳墠
-        current_infos = JueJinApi.get_gp_current_info(symbols, fields='symbol,price')
-        rate_dict = {x['symbol']: (x['price'], round(
-            (x['price'] - cls.__pre_price_dict[x['symbol']]) * 100 / cls.__pre_price_dict[x['symbol']], 2)) for x in
-                     current_infos}
-        for d in datas:
-            d[0][2] = rate_dict[d[0][0]]
-            d[1][2] = rate_dict[d[1][0]]
-            d[0][0] = d[0][0].split('.')[1]
-            d[1][0] = d[1][0].split('.')[1]
-        datas.sort(key=lambda x: int(x[2].replace(":", "")), reverse=True)
-
-        # 鑾峰彇浠婃棩姝h偂娑ㄥ仠鐨勫彲杞�哄垪琛�
-        return json.dumps(
-            {"code": 0, "data": datas}), True
-
     @classmethod
     def buy_by_ths(cls, url):
         can_buy = setting.is_can_ths_buy()
@@ -390,6 +221,4 @@
 
 
 if __name__ == "__main__":
-    codes = ["002523", "603095"]
-    datas = LocalKanPanNetworkDelegate.get_cb_list()
-    print(datas)
+    pass

--
Gitblit v1.8.0