Administrator
4 天以前 48fb7a00951f91bdc707e5dd2d196e5bccb752c3
trade/l2_trade_util.py
@@ -1,48 +1,52 @@
# 是否在禁止交易代码中
import redis_manager
import tool
from code_attribute import gpcode_manager
from db import redis_manager_delegate as redis_manager
from log_module import async_log_util
from log_module.log import logger_trade
from trade import trade_record_log_util
from trade.buy_radical.block_special_codes_manager import BlockSpecialCodesManager
__redis_manager = redis_manager.RedisManager(2)
#  初始化禁止交易代码库
def init_forbidden_trade_codes():
    key = "forbidden-trade-codes"
    redis = __redis_manager.getRedis()
    count = redis.scard(key)
    if count > 0:
        redis.delete(key)
    redis.sadd(key, "000000")
    redis.expire(key, tool.get_expire())
    gpcode_manager.BlackListCodeManager().clear()
    gpcode_manager.BlackListCodeManager().add_code("000000")
# 移除禁止交易代码
def remove_from_forbidden_trade_codes(code):
    key = "forbidden-trade-codes"
    redis = __redis_manager.getRedis()
    redis.srem(key, code)
    gpcode_manager.BlackListCodeManager().remove_code(code)
# 添加代码到禁止交易
def add_to_forbidden_trade_codes(code):
    key = "forbidden-trade-codes"
    redis = __redis_manager.getRedis()
    redis.sadd(key, code)
    redis.expire(key, tool.get_expire())
def __add_to_forbidden_trade_codes(code):
    gpcode_manager.BlackListCodeManager().add_code(code)
# 禁止代码交易
def forbidden_trade(code):
    add_to_forbidden_trade_codes(code)
    # l2_data_manager.remove_from_l2_fixed_codes(code)
    # l2_code_operate.L2CodeOperate.get_instance().remove_l2_listen(code, "禁止代码交易")
# force 是否强制加入黑名单
def forbidden_trade(code, msg=None, force=False):
    need_add = False
    if force:
        need_add = True
    else:
        # 检查是否在想买单中
        if gpcode_manager.HumanRemoveForbiddenManager().is_in_cache(code):
            # 人为移除黑,不可再拉黑
            need_add = False
        else:
            need_add = True
    if need_add:
        if not is_in_forbidden_trade_codes(code):
            trade_record_log_util.add_forbidden_buy_log(code, msg)
        __add_to_forbidden_trade_codes(code)
        async_log_util.warning(logger_trade, f"{code}加入黑名单原因:{msg}")
def is_in_forbidden_trade_codes(code):
    key = "forbidden-trade-codes"
    redis = __redis_manager.getRedis()
    return redis.sismember(key, code)
    return gpcode_manager.BlackListCodeManager().is_in_cache(code)
if __name__ == "__main__":
    add_to_forbidden_trade_codes("605133")