From 045a5aa6434da6e83c3d850b17e7e58cd7b55ef5 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期一, 15 五月 2023 15:46:32 +0800
Subject: [PATCH] 开盘啦板块影响交易逻辑

---
 code_data_util.py |   52 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 49 insertions(+), 3 deletions(-)

diff --git a/code_data_util.py b/code_data_util.py
index de6525b..2e64bd9 100644
--- a/code_data_util.py
+++ b/code_data_util.py
@@ -3,9 +3,27 @@
 """
 
 # 鑲$エ浠g爜鐩稿叧鐨勫弬鏁�
-import redis_manager
+import decimal
+import time
+
+import gpcode_manager
+from db import mysql_data, redis_manager
+import tool
 
 _redisManager = redis_manager.RedisManager(0)
+
+
+# 浠g爜瀵瑰簲鐨勪环鏍兼槸鍚︽纭�
+def is_same_code_with_price(code, price):
+    if code == '600066':
+        print('杩涘叆璋冭瘯')
+    # 鏄ㄦ棩鏀剁洏浠�
+    price_close = gpcode_manager.get_price_pre(code)
+    max_price = tool.to_price(decimal.Decimal(str(price_close)) * decimal.Decimal("1.1"))
+    min_price = tool.to_price(decimal.Decimal(str(price_close)) * decimal.Decimal("0.9"))
+    if min_price <= decimal.Decimal(str(price)) <= max_price:
+        return True
+    return False
 
 
 # 鑷敱娴侀�氳偂鏈伐鍏风被
@@ -13,14 +31,42 @@
     @classmethod
     def save(cls, code, val, unit):
         redis = _redisManager.getRedis()
-        redis.setex("zyltgb-{}".format(code), 60 * 60 * 24 * 10,
+        redis.setex("zyltgb-{}".format(code), tool.get_expire(),
                     round(float(val) * 100000000) if int(unit) == 0 else round(
                         float(val) * 10000))
 
     @classmethod
     def get(cls, code):
         redis = _redisManager.getRedis()
-        val = redis.get(code)
+        val = redis.get("zyltgb-{}".format(code))
         if val is not None:
             return int(val)
         return None
+
+    @classmethod
+    def save_list(self, datasList):
+        # 淇濆瓨鑷敱娴侀�氬競鍊�
+        mysqldb = mysql_data.Mysqldb()
+        for data in datasList:
+            # 淇濆瓨
+            _dict = {"_id": data["code"], "zyltgb": data["zyltgb"], "zyltgb_unit": data["zyltgb_unit"],
+                     "update_time": int(round(time.time() * 1000))}
+            if float(data["zyltgb"]) > 0:
+                # 淇濆瓨10澶�
+                ZYLTGBUtil.save(data["code"], data["zyltgb"], data["zyltgb_unit"])
+                result = mysqldb.select_one("select * from ths_zylt where _id='{}'".format(data["code"]))
+                if result is None:
+                    mysqldb.execute(
+                        "insert into ths_zylt(_id,zyltgb,zyltgb_unit,update_time) values ('{}','{}',{},{})".format(
+                            data["code"], data["zyltgb"], data["zyltgb_unit"], round(time.time() * 1000)))
+                else:
+                    mysqldb.execute(
+                        "update ths_zylt set zyltgb='{}',zyltgb_unit={},update_time={} where _id='{}'".format(
+                            data["zyltgb"], data["zyltgb_unit"], round(time.time() * 1000), data["code"]))
+
+
+if __name__ == "__main__":
+    redis = _redisManager.getRedis()
+    keys = redis.keys("zyltgb-*")
+    for key in keys:
+        redis.delete(key)

--
Gitblit v1.8.0