Administrator
8 天以前 d91210fd9d205558fb3a0acb7e5cc8c6f0c600f2
code_attribute/gpcode_manager.py
@@ -211,6 +211,59 @@
        return self.__want_buy_codes_cache
# 人为移想的代码
class HumanRemoveWantBuyCodesManager:
    __instance = None
    __db = 0
    redisManager = redis_manager.RedisManager(0)
    __redis_key = "human_remove_want_buy_codes"
    def __new__(cls, *args, **kwargs):
        if not cls.__instance:
            cls.__instance = super(HumanRemoveWantBuyCodesManager, cls).__new__(cls, *args, **kwargs)
            # 初始化设置
            # 获取交易窗口的锁
            cls.__instance.__want_buy_codes_cache = RedisUtils.smembers(cls.__get_redis(),
                                                                        cls.__redis_key)
        return cls.__instance
    __want_buy_codes_cache = set()
    @classmethod
    def __get_redis(cls):
        return cls.redisManager.getRedis()
    def clear(self):
        RedisUtils.delete(self.__get_redis(), self.__redis_key)
    def add_code(self, code):
        self.__want_buy_codes_cache.add(code)
        RedisUtils.sadd(self.__get_redis(), self.__redis_key, code)
        RedisUtils.expire(self.__get_redis(), self.__redis_key, tool.get_expire())
    def remove_code(self, code):
        self.__want_buy_codes_cache.discard(code)
        RedisUtils.srem_async(self.__db, self.__redis_key, code)
    def sync(self):
        codes = self.list_code()
        self.__want_buy_codes_cache.clear()
        if codes:
            self.__want_buy_codes_cache |= set(codes)
    def is_in(self, code):
        return RedisUtils.sismember(self.__get_redis(), self.__redis_key, code)
    def is_in_cache(self, code):
        return code in self.__want_buy_codes_cache
    def list_code(self):
        return RedisUtils.smembers(self.__get_redis(), self.__redis_key)
    def list_code_cache(self):
        return self.__want_buy_codes_cache
@tool.singleton
class HumanRemoveForbiddenManager:
    """
@@ -642,8 +695,6 @@
        @return:
        """
        return self.__buy_money_dict.get(code)
def __parse_codes_data(code_datas):