From 8b35efb921599861a4561fdf352205dedc6bc3be Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期一, 15 七月 2024 16:47:17 +0800 Subject: [PATCH] 手动设置独苗是否可以买入 --- settings/trade_setting.py | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 53 insertions(+), 0 deletions(-) diff --git a/settings/trade_setting.py b/settings/trade_setting.py index e492804..6a19e6a 100644 --- a/settings/trade_setting.py +++ b/settings/trade_setting.py @@ -48,3 +48,56 @@ def get_situation_cache(self): return self.__situation_cache + +class TradeBlockBuyModeManager: + # 绗竴浣�:淇濈暀 绗簩浣嶏細淇濈暀 绗笁浣嶏細涔扮嫭鑻� 绗洓浣嶏細浼犵粺 + # 0bxxxx + # 浼犵粺妯″紡 + MODE_TRADITIONAL = 0b0001 + # 鐙嫍妯″紡 + MODE_UNIQUE_BLOCK = 0b0010 + + __REDIS_KEY = "trade_block_buy_mode" + __mode = int(MODE_TRADITIONAL) + + """ + 鏉垮潡涔板叆妯″紡绠$悊 + """ + __instance = None + __db = 2 + redisManager = redis_manager.RedisManager(2) + + def __new__(cls, *args, **kwargs): + if not cls.__instance: + cls.__instance = super(TradeBlockBuyModeManager, cls).__new__(cls, *args, **kwargs) + return cls.__instance + + @classmethod + def __load_data(cls): + val = cls.__get_redis().get(cls.__REDIS_KEY) + if val is not None: + cls.__mode = int(val) + + @classmethod + def __get_redis(cls): + return cls.redisManager.getRedis() + + def __set_mode(self, mode: int): + self.__mode = mode + RedisUtils.setex_async(self.__db, self.__REDIS_KEY, tool.get_expire(), mode) + + def get_mode(self): + return self.__mode + + def add_unique_block(self): + mode = int(self.__mode | self.MODE_UNIQUE_BLOCK) + self.__set_mode(mode) + + def remove_unique_block(self): + mode = int(self.__mode & ~self.MODE_UNIQUE_BLOCK) + self.__set_mode(mode) + + def can_buy_unique_block(self): + r = self.__mode & self.MODE_UNIQUE_BLOCK > 1 + return r > 0 + -- Gitblit v1.8.0