Administrator
2022-10-21 892b50e242e3c59a738b92dfdfee1bf1ff8932f2
gpcode_manager.py
@@ -20,22 +20,49 @@
    # 获取基本信息
    code_datas = juejin.JueJinManager.get_gp_latest_info(gpset)
    codes = []
    name_codes = {}
    for _data in code_datas:
        # 正常的股票
        if _data["sec_type"] == 1 and _data["sec_level"] == 1:
            code = _data["symbol"].split(".")[1]
            if code.find("30") != 0 and code.find("68") != 0:
                name = _data["sec_name"]
                codes.append(code)
                # 保存代码对应的名称
                name_codes[name] = code
    redis_instance = __redisManager.getRedis()
    # 删除之前的
    redis_instance.delete("gp_list")
    redis_instance.delete("gp_list_names")
    for d in codes:
        redis_instance.sadd("gp_list", d)
    redis_instance.set("gp_list_names", json.dumps(name_codes))
# 获取名称对应的代码
def get_name_code(name):
    redis_instance = __redisManager.getRedis()
    val = redis_instance.get("gp_list_names")
    if not val:
        return None
    val = json.loads(val)
    return val.get(name)
def get_name_codes():
    redis_instance = __redisManager.getRedis()
    val = redis_instance.get("gp_list_names")
    if not val:
        return None
    val = json.loads(val)
    return val
# 涨停犁碑坳
def set_limit_up_list(gpset):
    if gpset is None:
        return
    # 保存到内存中
    global_util.add_limit_up_codes(gpset)
    # 获取基本信息
@@ -45,7 +72,7 @@
    for d in gpset:
        redis_instance.sadd("gp_limit_up_list", json.dumps(d))
    redis_instance.expire("gp_limit_up_list", tool.get_expire())
    redis_instance.setex("gp_limit_up_list_update_time",tool.get_expire(),round( time.time()*1000))
    redis_instance.setex("gp_limit_up_list_update_time", tool.get_expire(), round(time.time() * 1000))
# 获取涨停列表
@@ -92,7 +119,7 @@
# 设置收盘价
def set_price_pre(code, price):
    codes= get_gp_list()
    codes = get_gp_list()
    if code not in codes:
        return
    redis_instance = __redisManager.getRedis()
@@ -145,11 +172,10 @@
# 根据位置获取正在监听的代码
def get_listen_code_by_pos(client_id, pos):
    redis_instance = __redisManager.getRedis()
    key="listen_code-{}-{}".format(client_id, pos)
    key = "listen_code-{}-{}".format(client_id, pos)
    value = redis_instance.get(key)
    # print("redis:", key,value)
    return value
# 设置位置的监听代码
@@ -221,7 +247,7 @@
def is_listen_full():
    clients = data_process.getValidL2Clients()
    codes = get_listen_codes()
    return len(codes) >= 8*len(clients)
    return len(codes) >= 8 * len(clients)
# 是否正在操作
@@ -248,5 +274,5 @@
    # print(is_listen_full())
    # print(is_listen("002271"))
    # print(get_listen_code_pos("002272"))
    code= get_listen_code_by_pos(2, 7)
    print(code)
    code = get_listen_code_by_pos(2, 7)
    print(code)