From 8821049f3faee04e03f5535c6259d07bfb8b6433 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期四, 24 七月 2025 18:11:11 +0800 Subject: [PATCH] 订阅规则修改/增加新的外部接口/删除不必要的debug日志 --- servers/data_server.py | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 50 insertions(+), 5 deletions(-) diff --git a/servers/data_server.py b/servers/data_server.py index 4d8ae39..4fe2da9 100644 --- a/servers/data_server.py +++ b/servers/data_server.py @@ -12,6 +12,7 @@ import inited_data from api import low_suction_data_pusher from code_attribute.gpcode_manager import BlackListCodeManager, HumanRemoveForbiddenManager +from l2.code_price_manager import CurrentPriceManager from l2.huaxin import huaxin_target_codes_manager from l2.l2_transaction_data_manager import HuaXinBuyOrderManager from log_module.log import logger_system, logger_debug, logger_kpl_limit_up, logger_request_api, \ @@ -329,6 +330,7 @@ date = ps_dict.get('date') time_str = ps_dict.get('time') end_index = ps_dict.get('end_index') + fast = ps_dict.get('fast', 0) if end_index: end_index = int(end_index) total_datas = l2_data_util.local_today_datas.get(code) @@ -338,14 +340,30 @@ total_datas = None else: date = tool.get_now_date_str() - delegate_datas = data_export_util.get_l2_datas(code, total_datas, date=date, end_index=end_index) - transaction_datas = data_export_util.get_l2_transaction_datas(code, date=date) + delegate_datas = data_export_util.get_l2_datas(code, total_datas, date=date, end_index=end_index, + fast_mode=int(fast)) code_name = gpcode_manager.get_code_name(code) response_data = json.dumps({"code": 0, "data": {"code": code, "code_name": code_name, "data": {"delegates": delegate_datas, + "transactions": []}}}) + except Exception as e: + logger_debug.exception(e) + elif url.path == "/get_l2_datas_of_sell_orders": + try: + # 鑾峰彇L2鍗栧崟鏁版嵁 + ps_dict = dict([(k, v[0]) for k, v in parse_qs(url.query).items()]) + code = ps_dict['code'] + date = ps_dict.get('date') + if not date: + date = tool.get_now_date_str() + transaction_datas = data_export_util.get_l2_transaction_datas(code, date=date) + code_name = gpcode_manager.get_code_name(code) + response_data = json.dumps({"code": 0, "data": {"code": code, "code_name": code_name, + "data": {"delegates": [], "transactions": transaction_datas}}}) except Exception as e: logger_debug.exception(e) + elif url.path == "/get_trade_progress": # 鑾峰彇浜ゆ槗杩涘害 ps_dict = dict([(k, v[0]) for k, v in parse_qs(url.query).items()]) @@ -938,6 +956,8 @@ else: codes = huaxin_target_codes_manager.HuaXinL2SubscriptCodesManager.get_subscript_codes() if codes: + current_rate_dict = CurrentPriceManager.get_current_rate_dict() + current_price_dict = CurrentPriceManager.get_current_price_dict() for code in codes: deal_big_order_detail_info = None try: @@ -1010,8 +1030,10 @@ limit_up_big_order_detail = radical_buy_data_manager.get_total_detal_big_order_details( code) # 绱娑ㄥ仠涔伴噾棰� - buy_money = output_util.money_desc(limit_up_big_order_detail[0] + limit_up_big_order_detail[1]) - sell_money = output_util.money_desc(limit_up_big_order_detail[2] + limit_up_big_order_detail[3]) + buy_money = output_util.money_desc( + limit_up_big_order_detail[0] + limit_up_big_order_detail[1]) + sell_money = output_util.money_desc( + limit_up_big_order_detail[2] + limit_up_big_order_detail[3]) deal_big_order_info.append(buy_money) # 绱娑ㄥ仠鍗栭噾棰� deal_big_order_info.append(sell_money) @@ -1025,7 +1047,29 @@ logger_debug.exception(e) deal_big_order_info = None code_name = gpcode_manager.get_code_name(code) - fresults.append((code, code_name, deal_big_order_info, deal_big_order_detail_info)) + + # 0 - 涓嶅 1-鍗冲皢澶� 2-瓒冲 + big_order_enough_type = 0 + try: + total_deal_big_order_result = radical_buy_data_manager.get_total_deal_big_order_info(code, + gpcode_manager.get_limit_up_price_as_num( + code)) + # 鍙栬姹傚ぇ鍗曠殑10% + threshold_lack_money = int(round(total_deal_big_order_result[2] / 10)) + if total_deal_big_order_result: + if total_deal_big_order_result[0] <= 0: + big_order_enough_type = 2 + elif total_deal_big_order_result[0] <= threshold_lack_money: + big_order_enough_type = 1 + except: + pass + try: + is_limit_up = 1 if abs(current_price_dict.get(code, 0) - gpcode_manager.get_limit_up_price_as_num(code)) < 0.001 else 0 + except: + is_limit_up = 0 + pass + fresults.append( + (code, code_name, deal_big_order_info, deal_big_order_detail_info, big_order_enough_type, current_rate_dict.get(code, 0), is_limit_up)) response_data = json.dumps({"code": 0, "data": fresults}) except Exception as e: response_data = json.dumps({"code": 1, "data": str(1)}) @@ -1338,3 +1382,4 @@ if __name__ == "__main__": run("", 9004) + print("娴嬭瘯123123123") -- Gitblit v1.8.0