# 是否在禁止交易代码中 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(): gpcode_manager.BlackListCodeManager().clear() gpcode_manager.BlackListCodeManager().add_code("000000") # 移除禁止交易代码 def remove_from_forbidden_trade_codes(code): gpcode_manager.BlackListCodeManager().remove_code(code) # 添加代码到禁止交易 def __add_to_forbidden_trade_codes(code): gpcode_manager.BlackListCodeManager().add_code(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): return gpcode_manager.BlackListCodeManager().is_in_cache(code)