Administrator
2023-01-06 59fba698b03a51a8da5b56a919ebbf94d4784f74
gpcode_manager.py
@@ -14,7 +14,7 @@
__redisManager = redis_manager.RedisManager(0)
def set_gp_list(code_datas):
def __parse_codes_data(code_datas):
    codes = []
    name_codes = {}
    for _data in code_datas:
@@ -26,7 +26,11 @@
                codes.append(code)
                # 保存代码对应的名称
                name_codes[name] = code
    return codes, name_codes
def set_gp_list(code_datas):
    codes, name_codes = __parse_codes_data(code_datas)
    redis_instance = __redisManager.getRedis()
    # 删除之前的
    redis_instance.delete("gp_list")
@@ -34,6 +38,21 @@
    for d in codes:
        redis_instance.sadd("gp_list", d)
    redis_instance.set("gp_list_names", json.dumps(name_codes))
# 新增代码
def add_gp_list(code_datas):
    redis_instance = __redisManager.getRedis()
    codes, name_codes = __parse_codes_data(code_datas)
    for d in codes:
        redis_instance.sadd("gp_list", d)
    old_name_codes = get_name_codes()
    if old_name_codes is None:
        old_name_codes = name_codes
    else:
        for key in name_codes:
            old_name_codes[key] = name_codes[key]
    redis_instance.set("gp_list_names", json.dumps(old_name_codes))
# 获取名称对应的代码
@@ -44,6 +63,18 @@
        return None
    val = json.loads(val)
    return val.get(name)
def get_code_name(code):
    redis_instance = __redisManager.getRedis()
    val = redis_instance.get("gp_list_names")
    if not val:
        return None
    val = json.loads(val)
    for key in val:
        if val[key] == code:
            return key
    return None
def get_name_codes():
@@ -313,12 +344,26 @@
    redis_instance.setex("gp_operate-{}".format(code), 30, "1")
# 批量设置正在操作的代码
def set_operates(codes):
    redis_instance = __redisManager.getRedis()
    for code in codes:
        redis_instance.setex("gp_operate-{}".format(code), 30, "1")
# 移除正在操作的代码
def rm_operate(code):
    redis_instance = __redisManager.getRedis()
    redis_instance.delete("gp_operate-{}".format(code))
# 批量移除正在操作的代码
def rm_operates(codes):
    redis_instance = __redisManager.getRedis()
    for code in codes:
        redis_instance.delete("gp_operate-{}".format(code))
if __name__ == '__main__':
    _start = time.time()
    redis_instance = __redisManager.getRedis()