From 7af7c8f19eb8ac6217dfc7af99df24be42fce2b5 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 05 二月 2024 14:20:20 +0800 Subject: [PATCH] bug修复 --- utils/hosting_api_util.py | 77 +++++++++++++++++++++++++++++--------- 1 files changed, 58 insertions(+), 19 deletions(-) diff --git a/utils/hosting_api_util.py b/utils/hosting_api_util.py index 09ed1c1..0565187 100644 --- a/utils/hosting_api_util.py +++ b/utils/hosting_api_util.py @@ -16,17 +16,19 @@ OPERRATE_SET = 1 # 璁剧疆 OPERRATE_DELETE = 2 # 鍒犻櫎 OPERRATE_GET = 3 # 鑾峰彇 +OPERRATE_ADD = 4 # 娣诲姞 # 浠g爜鍚嶅崟绫诲瀷 CODE_LIST_WHITE = "white" CODE_LIST_BLACK = "black" CODE_LIST_WANT = "want" CODE_LIST_PAUSE_BUY = "pause_buy" - +CODE_LIST_MUST_BUY = "must_buy" # 绫诲瀷 API_TYPE_TRADE = "trade" # 浜ゆ槗 API_TYPE_TRADE_STATE = "trade_state" # 浜ゆ槗鐘舵�� API_TYPE_TRADE_MODE = "trade_mode" # 浜ゆ槗妯″紡 +API_TYPE_SELL_RULE = "sell_rule" # 鍗栧嚭瑙勫垯 API_TYPE_CODE_LIST = "code_list" # 浠g爜鍚嶅崟 API_TYPE_EXPORT_L2 = "export_l2" # 瀵煎嚭L2鏁版嵁 API_TYPE_INIT = "init" # 鍒濆鍖� @@ -39,6 +41,9 @@ API_TYPE_GET_FROM_DATA_SERVER = "get_from_data_server" # 浠庢暟鎹湇鍔″櫒鎷夊彇鏁版嵁 API_TYPE_CODE_TRADE_INFO = "code_trade_info" # 浠g爜浜ゆ槗淇℃伅 API_TYPE_CODE_L2_LISTEN_ACTIVE_COUNT = "l2_listen_active_count" # L2鏈夋晥鐩戝惉鏁伴噺 +API_TYPE_SAVE_RUNNING_DATA = "save_running_data" # 淇濆瓨杩愯鏃舵暟鎹� +API_TYPE_GET_CODE_POSITION_INFO = "get_code_position_info" # 鑾峰彇浠g爜鎸佷粨淇℃伅 +API_TYPE_COMMON_REQUEST = "common_request" # 閫氱敤璇锋眰 # 瓒呮椂鏃堕棿2s TIMEOUT = 5.0 @@ -151,7 +156,7 @@ # 璁剧疆浜ゆ槗鐘舵�� def set_trade_state(state, blocking=True): - request_id, client = __request(ClientSocketManager.CLIENT_TYPE_TRADE, + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_COMMON, {"type": API_TYPE_TRADE_STATE, "operate": OPERRATE_SET, "state": state, "sinfo": f"cb_{API_TYPE_TRADE_STATE}_{round(time.time() * 1000)}"}) @@ -160,7 +165,7 @@ # 鑾峰彇浜ゆ槗鐘舵�� def get_trade_state(blocking=True): - request_id, client = __request(ClientSocketManager.CLIENT_TYPE_TRADE, + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_COMMON, {"type": API_TYPE_TRADE_STATE, "operate": OPERRATE_GET, "sinfo": f"cb_{API_TYPE_TRADE_STATE}_{round(time.time() * 1000)}"}) return __read_response(client, request_id, blocking) @@ -168,7 +173,7 @@ # 璁剧疆浜ゆ槗妯″紡 def set_trade_mode(mode, blocking=True): - request_id, client = __request(ClientSocketManager.CLIENT_TYPE_TRADE, + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_COMMON, {"type": API_TYPE_TRADE_MODE, "operate": OPERRATE_SET, "mode": mode, "sinfo": f"cb_{API_TYPE_TRADE_MODE}_{round(time.time() * 1000)}"}) return __read_response(client, request_id, blocking) @@ -176,7 +181,7 @@ # 鑾峰彇浜ゆ槗妯″紡 def get_trade_mode(blocking=True): - request_id, client = __request(ClientSocketManager.CLIENT_TYPE_TRADE, + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_COMMON, {"type": API_TYPE_TRADE_MODE, "operate": OPERRATE_GET, "sinfo": f"cb_{API_TYPE_TRADE_MODE}_{round(time.time() * 1000)}"}) return __read_response(client, request_id, blocking) @@ -184,7 +189,7 @@ # -----浠g爜鍚嶅崟鎿嶄綔---- def add_code_list(code, code_list_type, blocking=True): - request_id, client = __request(ClientSocketManager.CLIENT_TYPE_TRADE, + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_COMMON, {"type": API_TYPE_CODE_LIST, "code_list_type": code_list_type, "code": code, "operate": OPERRATE_SET, "sinfo": f"cb_{API_TYPE_CODE_LIST}_{round(time.time() * 1000)}"}) @@ -192,7 +197,7 @@ def remove_code_list(code, code_list_type, blocking=True): - request_id, client = __request(ClientSocketManager.CLIENT_TYPE_TRADE, + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_COMMON, {"type": API_TYPE_CODE_LIST, "code_list_type": code_list_type, "code": code, "operate": OPERRATE_DELETE, "sinfo": f"cb_{API_TYPE_CODE_LIST}_{round(time.time() * 1000)}"}) @@ -200,7 +205,7 @@ def get_code_list(code_list_type, blocking=True): - request_id, client = __request(ClientSocketManager.CLIENT_TYPE_TRADE, + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_COMMON, {"type": API_TYPE_CODE_LIST, "code_list_type": code_list_type, "operate": OPERRATE_GET, "sinfo": f"cb_{API_TYPE_CODE_LIST}_{round(time.time() * 1000)}"}) @@ -209,7 +214,7 @@ # -----瀵煎嚭L2鏁版嵁---- def export_l2_data(code, blocking=True): - request_id, client = __request(ClientSocketManager.CLIENT_TYPE_TRADE, + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_COMMON, {"type": API_TYPE_EXPORT_L2, "code": code, "sinfo": f"cb_{API_TYPE_EXPORT_L2}_{round(time.time() * 1000)}"}) return __read_response(client, request_id, blocking) @@ -217,7 +222,7 @@ # -----姣忔棩鍒濆鍖�---- def everyday_init(blocking=True): - request_id, client = __request(ClientSocketManager.CLIENT_TYPE_TRADE, + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_COMMON, {"type": API_TYPE_INIT, "sinfo": f"cb_{API_TYPE_INIT}_{round(time.time() * 1000)}"}) return __read_response(client, request_id, blocking) @@ -225,7 +230,7 @@ # 鍒锋柊浜ゆ槗鏁版嵁 def refresh_trade_data(type, blocking=True): - request_id, client = __request(ClientSocketManager.CLIENT_TYPE_TRADE, + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_COMMON, {"type": API_TYPE_REFRESH_TRADE_DATA, "ctype": type, "sinfo": f"cb_{API_TYPE_REFRESH_TRADE_DATA}_{round(time.time() * 1000)}"}) return __read_response(client, request_id, blocking) @@ -233,7 +238,7 @@ # 鑾峰彇浠g爜灞炴�� def get_code_attribute(code, blocking=True): - request_id, client = __request(ClientSocketManager.CLIENT_TYPE_TRADE, + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_COMMON, {"type": API_TYPE_CODE_ATRRIBUTE, "code": code, "sinfo": f"cb_{API_TYPE_CODE_ATRRIBUTE}_{round(time.time() * 1000)}"}) return __read_response(client, request_id, blocking) @@ -241,7 +246,7 @@ # 鑾峰彇浠g爜浜ゆ槗鐘舵�� def get_code_trade_state(code, blocking=True): - request_id, client = __request(ClientSocketManager.CLIENT_TYPE_TRADE, + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_COMMON, {"type": API_TYPE_CODE_TRADE_STATE, "code": code, "sinfo": f"{API_TYPE_CODE_TRADE_STATE}_{round(time.time() * 1000)}"}) return __read_response(client, request_id, blocking) @@ -249,7 +254,7 @@ # 鑾峰彇鐜淇℃伅 def get_env_info(blocking=True): - request_id, client = __request(ClientSocketManager.CLIENT_TYPE_TRADE, + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_COMMON, {"type": API_TYPE_GET_ENV, "sinfo": f"cb_{API_TYPE_GET_ENV}_{round(time.time() * 1000)}"}) return __read_response(client, request_id, blocking) @@ -257,7 +262,7 @@ # 鑾峰彇鐜淇℃伅 def sync_l1_subscript_codes(blocking=True): - request_id, client = __request(ClientSocketManager.CLIENT_TYPE_TRADE, + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_COMMON, {"type": API_TYPE_SYNC_L1_TARGET_CODES, "sinfo": f"cb_{API_TYPE_SYNC_L1_TARGET_CODES}_{round(time.time() * 1000)}"}) return __read_response(client, request_id, blocking) @@ -265,7 +270,7 @@ # 鑾峰彇绯荤粺鏃ュ織 def get_system_logs(start_index, count, blocking=True): - request_id, client = __request(ClientSocketManager.CLIENT_TYPE_TRADE, + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_COMMON, {"type": API_TYPE_SYSTEM_LOG, "start_index": start_index, "count": count, "sinfo": f"cb_{API_TYPE_SYSTEM_LOG}_{round(time.time() * 1000)}"}) return __read_response(client, request_id, blocking) @@ -273,7 +278,7 @@ # 鎷夊彇data_server鐨勫唴瀹� def get_from_data_server(path, params, blocking=True): - request_id, client = __request(ClientSocketManager.CLIENT_TYPE_TRADE, + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_COMMON, {"type": API_TYPE_GET_FROM_DATA_SERVER, "path": path, "params": params, "sinfo": f"cb_{API_TYPE_GET_FROM_DATA_SERVER}_{round(time.time() * 1000)}"}) return __read_response(client, request_id, blocking, timeout=30) @@ -281,7 +286,7 @@ # 鑾峰彇浠g爜鐨勪氦鏄撲俊鎭� def get_code_trade_info(code, blocking=True): - request_id, client = __request(ClientSocketManager.CLIENT_TYPE_TRADE, + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_COMMON, {"type": API_TYPE_CODE_TRADE_INFO, "code": code, "sinfo": f"cb_{API_TYPE_CODE_TRADE_INFO}_{round(time.time() * 1000)}"}) return __read_response(client, request_id, blocking, timeout=30) @@ -289,12 +294,46 @@ # L2鏈夋晥鐩戝惉鏁伴噺 def get_l2_listen_active_count(blocking=True): - request_id, client = __request(ClientSocketManager.CLIENT_TYPE_TRADE, + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_COMMON, {"type": API_TYPE_CODE_L2_LISTEN_ACTIVE_COUNT, "sinfo": f"cb_{API_TYPE_CODE_L2_LISTEN_ACTIVE_COUNT}_{round(time.time() * 1000)}"}) return __read_response(client, request_id, blocking, timeout=30) +# 淇濆瓨姝e湪杩愯鐨勬暟鎹� +def save_running_data(blocking=True): + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_COMMON, + {"type": API_TYPE_SAVE_RUNNING_DATA, + "sinfo": f"cb_{API_TYPE_SAVE_RUNNING_DATA}_{round(time.time() * 1000)}"}) + return __read_response(client, request_id, blocking, timeout=30) + + +# 淇濆瓨姝e湪杩愯鐨勬暟鎹� +def sell_rule(operate, data={}, blocking=True): + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_COMMON, + {"type": API_TYPE_SELL_RULE, "operate": operate, "data": data, + "sinfo": f"cb_{API_TYPE_SELL_RULE}_{round(time.time() * 1000)}"}) + return __read_response(client, request_id, blocking, timeout=10) + + +# 鑾峰彇浠g爜鎸佷粨淇℃伅 +def get_code_position_info(code, blocking=True): + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_TRADE, + {"type": API_TYPE_GET_CODE_POSITION_INFO, "code": code, + "sinfo": f"cb_{API_TYPE_GET_CODE_POSITION_INFO}_{round(time.time() * 1000)}"}) + return __read_response(client, request_id, blocking) + + +def common_request(params={}, blocking=True): + data = {"type": API_TYPE_COMMON_REQUEST, + "sinfo": f"cb_{API_TYPE_COMMON_REQUEST}_{round(time.time() * 1000)}"} + if params: + for k in params: + data[k] = params[k] + request_id, client = __request(ClientSocketManager.CLIENT_TYPE_COMMON, data) + return __read_response(client, request_id, blocking, timeout=10) + + if __name__ == "__main__": d = {"id": "123123"} print(d.pop("id")) -- Gitblit v1.8.0