From f35eaf95bd774de6e6a5a79a5dcbd3cccb2748aa Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期二, 12 十一月 2024 00:27:08 +0800 Subject: [PATCH] 新版本板块代码列表 --- servers/data_server.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 38 insertions(+), 0 deletions(-) diff --git a/servers/data_server.py b/servers/data_server.py index 4a30824..d8c1e12 100644 --- a/servers/data_server.py +++ b/servers/data_server.py @@ -9,6 +9,7 @@ from code_attribute.gpcode_manager import BlackListCodeManager from l2.l2_transaction_data_manager import HuaXinBuyOrderManager from log_module.log import logger_system, logger_debug, logger_kpl_limit_up, logger_request_api +from third_data.kpl_data_constant import LimitUpDataConstant from third_data.kpl_limit_up_data_manager import LatestLimitUpBlockManager, CodeLimitUpSequenceManager from trade.buy_strategy import OpenLimitUpGoodBlocksBuyStrategy from utils import global_util, tool, data_export_util @@ -544,6 +545,43 @@ code_info[5] = 1 response_data = json.dumps({"code": 0, "data": codes_info}) + elif url.path == "/kpl/get_plate_codes_new": + # 鑾峰彇娑ㄥ仠鍘熷洜涓嬮潰鐨勪唬鐮� + ps_dict = dict([(k, v[0]) for k, v in parse_qs(url.query).items()]) + plate = kpl_util.filter_block(ps_dict["plate"]) + # 鑾峰彇鏉垮潡涓嬬殑浠g爜 + # 缁熻鐩墠涓烘鐨勪唬鐮佹定鍋滄暟閲忥紙鍒嗘定鍋滃師鍥狅級 + now_limit_up_codes_info = self.__kplDataManager.get_data(KPLDataType.LIMIT_UP) + now_limit_up_codes = set([d[0] for d in now_limit_up_codes_info]) + # 鑾峰彇鍘嗗彶娑ㄥ仠 + record_limit_up_datas = KPLLimitUpDataRecordManager.total_datas + if not record_limit_up_datas: + KPLLimitUpDataRecordManager.load_total_datas() + record_limit_up_datas = KPLLimitUpDataRecordManager.total_datas + + codes_info = [] + for d in record_limit_up_datas: + _code = d[3] + blocks = LimitUpDataConstant.get_blocks_with_history(_code) + if blocks is not None and plate not in blocks: + continue + if not tool.is_can_buy_code(d[3]): + continue + # 浠g爜,鍚嶇О,娑ㄥ仠鏃堕棿,鏄惁鐐告澘,鏄惁鎯充拱,鏄惁宸茬粡涓嬭繃鍗�,娑ㄥ仠鏃堕棿,鑷敱娴侀�氬競鍊�,鏄惁鍦ㄩ粦鍚嶅崟閲岄潰 + codes_info.append( + [d[3], d[4], tool.to_time_str(int(d[5])), 1 if d[3] not in now_limit_up_codes else 0, 0, 0, d[12], + output_util.money_desc(d[13]), 1, 1 if l2_trade_util.is_in_forbidden_trade_codes(d[3]) else 0]) + codes_info.sort(key=lambda x: x[2]) + # 鏌ヨ鏄惁涓烘兂涔板崟 + green_codes = gpcode_manager.GreenListCodeManager().list_codes_cache() + for code_info in codes_info: + code_info[4] = 1 if code_info[0] in green_codes else 0 + # 鑾峰彇浠g爜鐘舵�� + if trade_manager.CodesTradeStateManager().get_trade_state_cache( + code_info[0]) != trade_constant.TRADE_STATE_NOT_TRADE: + code_info[5] = 1 + + response_data = json.dumps({"code": 0, "data": codes_info}) elif url.path == "/kpl/get_open_limit_up_count_rank": # 鑾峰彇鐐告澘娆℃暟鎺掕 ps_dict = dict([(k, v[0]) for k, v in parse_qs(url.query).items()]) -- Gitblit v1.8.0