From c8d828e625fa5b3ae6232666ac2c0e5f51a62c54 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期一, 18 八月 2025 15:02:56 +0800
Subject: [PATCH] 13:01之前下单规则修改/接口修改/自动加想策略修改

---
 code_attribute/big_money_num_manager.py |   45 ++++++++++++++++++++++++++++++---------------
 1 files changed, 30 insertions(+), 15 deletions(-)

diff --git a/code_attribute/big_money_num_manager.py b/code_attribute/big_money_num_manager.py
index 83858f3..14d86d8 100644
--- a/code_attribute/big_money_num_manager.py
+++ b/code_attribute/big_money_num_manager.py
@@ -3,50 +3,65 @@
 """
 
 # 澶у崟绠$悊
-from db import redis_manager
-from db.redis_manager import RedisUtils
+from db import redis_manager_delegate as redis_manager
+from db.redis_manager_delegate import RedisUtils
 from utils import tool
 
-__redisManager = redis_manager.RedisManager(0)
+__db = 0
+__redisManager = redis_manager.RedisManager(__db)
 
 
 # 鏄惁涓哄ぇ鍗�
 def is_big_num(val):
-    if int(val["num"]) >= 8000 or int(val["num"]) * float(val["price"]) >= 30000:
+    if int(val["num"]) >= 8999 or int(val["num"]) * float(val["price"]) >= 29900:
         return True
     else:
         return False
 
 
+__big_money_cache = {}
+
+
 def add_num(code, num):
-    redis = __redisManager.getRedis()
-    RedisUtils.incrby(redis,"big_money-{}".format(code), num)
+    if code not in __big_money_cache:
+        __big_money_cache[code] = 0
+    __big_money_cache[code] += num
+    RedisUtils.incrby_async(__db, "big_money-{}".format(code), num)
 
 
 # 璁剧疆杩囨湡鏃堕棿
 def expire(code):
-    redis = __redisManager.getRedis()
-    RedisUtils.expire(redis, "big_money-{}".format(code), tool.get_expire())
+    RedisUtils.expire(__redisManager.getRedis(), "big_money-{}".format(code), tool.get_expire())
 
 
 def reset(code):
-    redis = __redisManager.getRedis()
-    RedisUtils.set(redis,"big_money-{}".format(code), 0)
+    __big_money_cache[code] = 0
+    RedisUtils.set(__redisManager.getRedis(), "big_money-{}".format(code), 0)
 
 
 def get_num(code):
-    redis = __redisManager.getRedis()
-    num = RedisUtils.get(redis, "big_money-{}".format(code))
+    num = RedisUtils.get(__redisManager.getRedis(), "big_money-{}".format(code))
     if num is None:
         return 0
     return round(int(num) / 1000 / 4)
 
 
+def get_num_cache(code):
+    if code in __big_money_cache:
+        return __big_money_cache[code]
+    num = get_num(code)
+    __big_money_cache[code] = num
+    return num
+
+
 def reset_all():
     redis = __redisManager.getRedis()
-    keys = RedisUtils.keys(redis, "big_money-*")
-    for k in keys:
-        RedisUtils.setex(redis, k, tool.get_expire(), 0)
+    try:
+        keys = RedisUtils.keys(redis, "big_money-*", auto_free=False)
+        for k in keys:
+            RedisUtils.setex(redis, k, tool.get_expire(), 0, auto_free=False)
+    finally:
+        RedisUtils.realse(redis)
 
 
 if __name__ == "__main__":

--
Gitblit v1.8.0