Administrator
2025-08-19 89e49e197ec232fc6ae99c22b8ffb2be64108ee4
servers/data_server.py
@@ -12,7 +12,8 @@
import inited_data
from api import low_suction_data_pusher
from code_attribute.code_l1_data_manager import L1DataManager
from code_attribute.gpcode_manager import BlackListCodeManager, HumanRemoveForbiddenManager, CodePrePriceManager
from code_attribute.gpcode_manager import BlackListCodeManager, HumanRemoveForbiddenManager, CodePrePriceManager, \
    HumanForbiddenManager
from l2.code_price_manager import CurrentPriceManager
from l2.huaxin import huaxin_target_codes_manager
from l2.l2_transaction_data_manager import HuaXinBuyOrderManager
@@ -30,6 +31,7 @@
from trade.buy_strategy import OpenLimitUpGoodBlocksBuyStrategy
from trade.buy_radical.radical_buy_data_manager import RadicalBuyBlockManager, BeforeSubDealBigOrderManager
from trade.huaxin import huaxin_trade_record_manager
from trade.order_statistic import DealAndDelegateWithBuyModeDataManager
from trade.trade_data_manager import RadicalBuyDealCodesManager
from utils import global_util, tool, data_export_util, init_data_util, huaxin_util
from code_attribute import gpcode_manager, code_nature_analyse
@@ -1138,11 +1140,18 @@
                # 拉取最近成交信息
                fdatas = []
                yesterday_codes = kpl_data_manager.get_yesterday_limit_up_codes()
                deal_codes = DealAndDelegateWithBuyModeDataManager().get_deal_codes()
                for code in codes:
                    try:
                        if code in yesterday_codes:
                            continue
                        if l2_trade_util.is_in_forbidden_trade_codes(code):
                        if l2_trade_util.is_in_forbidden_trade_codes(code) and code not in deal_codes:
                            # 拉黑但是没成交
                            continue
                        # 人为拉黑的需要移除
                        if HumanForbiddenManager().is_in_cache(code):
                            continue
                        # (代码,名称,涨停时间,涨幅,现手,自由市值,现价)
@@ -1162,7 +1171,8 @@
                        zyltgb = zylt_volume * limit_up_price
                        if latest_transaction_data:
                            data.append(
                                (latest_transaction_data[2] // 100, latest_transaction_data[6] - latest_transaction_data[7]))
                                (latest_transaction_data[2] // 100,
                                 latest_transaction_data[6] - latest_transaction_data[7]))
                        else:
                            data.append(("--", 0))
                        data.append(output_util.money_desc(zyltgb) if zyltgb else '--')
@@ -1175,21 +1185,27 @@
                        # 显示代码板块身位
                        block_rank_info = None
                        # 获取当前板块
                        blocks = LimitUpCodesBlockRecordManager().get_radical_buy_blocks(code)
                        try:
                            if limit_up_time:
                                # 涨停过的数据才有身位
                                blocks = LimitUpCodesBlockRecordManager().get_radical_buy_blocks(code)
                                if blocks:
                                    blocks_info = []
                                    for b in blocks:
                                        info = radical_buy_data_manager.RadicalBuyBlockManager.get_history_index(code, b,
                                        info = radical_buy_data_manager.RadicalBuyBlockManager.get_history_index(code,
                                                                                                                 b,
                                                                                                                 yesterday_codes)
                                        blocks_info.append((b, info[0], info[2]))
                                    max_info = max(blocks_info, key=lambda x: x[2])
                                    block_rank_info = max_info
                        except:
                            pass
                        data.append(block_rank_info)
                        data.append((block_rank_info, blocks))
                        # 交易状态:
                        trade_state = trade_manager.CodesTradeStateManager().get_trade_state(code)
                        data.append(trade_state)
                        fdatas.append(data)
                    except Exception as e1:
                        logger_debug.exception(e1)
@@ -1198,12 +1214,15 @@
            except Exception as e:
                logger_debug.exception(e)
        elif url.path == "/get_l2_down_watch_index_overview":
            ps_dict = dict([(k, v[0]) for k, v in parse_qs(url.query).items()])
            code = ps_dict.get('code')
            # 大单概览
            l2_down_data = LCancelBigNumComputer().statistic_l_down_watch_indexes_of_big_order_info(code)
            total_big_order_info = LCancelBigNumComputer().statistic_total_big_order_info(code)
            response_data = json.dumps({"code": 0, "data": {"l_down":l2_down_data,"total":total_big_order_info}})
            try:
                ps_dict = dict([(k, v[0]) for k, v in parse_qs(url.query).items()])
                code = ps_dict.get('code')
                # 大单概览
                l2_down_data = LCancelBigNumComputer().statistic_l_down_watch_indexes_of_big_order_info(code)
                # total_big_order_info = LCancelBigNumComputer().statistic_total_big_order_info(code)
                response_data = json.dumps({"code": 0, "data": {"l_down": l2_down_data}})
            except Exception as e:
                logger_debug.exception(e)
        async_log_util.info(logger_request_api, f"结束请求{tool.get_thread_id()}-{url}")
        self.send_response(200)