Administrator
2025-06-09 8b7972581d0324e3f634b5b5a57a9ed7db1addaf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# 是否在禁止交易代码中
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)