# 是否在禁止交易代码中
|
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)
|