From afa2f2b0f32a31b95d4045c569182e85f2f91d73 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期五, 29 三月 2024 16:21:59 +0800
Subject: [PATCH] 获取非持仓票的名称

---
 code_atrribute/gpcode_manager.py |  116 +++++----------------------------------------------------
 1 files changed, 11 insertions(+), 105 deletions(-)

diff --git a/code_atrribute/gpcode_manager.py b/code_atrribute/gpcode_manager.py
index 3bf4abc..d451563 100644
--- a/code_atrribute/gpcode_manager.py
+++ b/code_atrribute/gpcode_manager.py
@@ -14,116 +14,22 @@
 
 
 class CodesNameManager:
-    __db = 0
-    redisManager = redis_manager.RedisManager(0)
-    __gp_list_names_first_cache = []
+    __code_name_dict = {}
 
     @classmethod
-    def __get_redis(cls):
-        return cls.redisManager.getRedis()
+    def set_code_name(cls, code, name):
+        cls.__code_name_dict[code] = name
 
     @classmethod
-    def list_code_name_dict(cls):
-        dict_ = {}
-        val = cls.list_first_code_name_dict()
-        if val is not None:
-            for k in val:
-                dict_[k] = val[k]
-        val = cls.list_second_code_name_dict()
-        if val is not None:
-            for k in val:
-                dict_[k] = val[k]
-        return dict_
+    def get_code_name(cls, code):
+        cls.__code_name_dict.get(code)
 
     @classmethod
-    def list_first_code_name_dict(cls):
-        val = RedisUtils.get(cls.__get_redis(), "gp_list_names_first")
-        if val is not None:
-            val = json.loads(val)
-            return val
-        return None
-
-    @classmethod
-    def list_first_code_name_dict_cache(cls):
-        val = RedisUtils.get(cls.__get_redis(), "gp_list_names_first")
-        if val is not None:
-            val = json.loads(val)
-            return val
-        return None
-
-    @classmethod
-    def get_first_code_name(cls, code):
-        val = RedisUtils.get(cls.__get_redis(), "gp_list_names_first")
-        if not val:
-            return None
-        val = json.loads(val)
-        for k in val:
-            if val[k] == code:
-                return k
-        return None
-
-    @classmethod
-    def get_first_name_code(cls, name):
-        val = RedisUtils.get(cls.__get_redis(), "gp_list_names_first")
-        if not val:
-            return None
-        val = json.loads(val)
-        return val.get(name)
-
-    @classmethod
-    def add_first_code_name(cls, code, name):
-        val = RedisUtils.get(cls.__get_redis(), "gp_list_names_first")
-        if not val:
-            return None
-        val = json.loads(val)
-        val[name] = code
-        cls.set_first_code_names(val)
-
-    # 璁剧疆棣栨澘浠g爜鍚嶇О
-    @classmethod
-    def set_first_code_names(cls, datas):
-        RedisUtils.set_async(cls.__db, "gp_list_names_first", json.dumps(datas))
-
-    # 鍒犻櫎棣栨澘浠g爜鍚嶇О
-    @classmethod
-    def clear_first_code_names(cls):
-        RedisUtils.delete(cls.__get_redis(), "gp_list_names_first")
-
-    @classmethod
-    def list_second_code_name_dict(cls):
-        val = RedisUtils.get(cls.__get_redis(), "gp_list_names")
-        if val is not None:
-            val = json.loads(val)
-            return val
-        return None
-
-    @classmethod
-    def get_second_code_name(cls, code):
-        val = RedisUtils.get(cls.__get_redis(), "gp_list_names")
-        if not val:
-            return None
-        val = json.loads(val)
-        for k in val:
-            if val[k] == code:
-                return k
-
-    @classmethod
-    def get_second_name_code(cls, name):
-        val = RedisUtils.get(cls.__get_redis(), "gp_list_names")
-        if not val:
-            return None
-        val = json.loads(val)
-        return val.get(name)
-
-    # 璁剧疆浜屾澘浠g爜鍚嶇О
-    @classmethod
-    def set_second_code_names(cls, datas):
-        RedisUtils.set(cls.__get_redis(), "gp_list_names", json.dumps(datas))
-
-    # 璁剧疆浜屾澘浠g爜鍚嶇О
-    @classmethod
-    def clear_second_code_names(cls):
-        RedisUtils.delete(cls.__get_redis(), "gp_list_names")
+    def request_code_name(cls, code):
+        datas = HistoryKDatasUtils.get_gp_latest_info([code])
+        if datas:
+            name = datas[0]['sec_name']
+            cls.set_code_name(code, name)
 
 
 # 鑾峰彇浜屾澘浠g爜
@@ -215,4 +121,4 @@
     price = CodePrePriceManager.get_price_pre_cache(code)
     if price is None:
         return None
-    return tool.to_price(decimal.Decimal(str(price)) * decimal.Decimal("0.9"))
+    return tool.to_price(decimal.Decimal(str(price)) * decimal.Decimal("0.9"))
\ No newline at end of file

--
Gitblit v1.8.0