From 07af91d1cb4e317065b8dc1db09f337f2014e8c7 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 29 二月 2024 17:34:22 +0800 Subject: [PATCH] 添加外部接口 --- utils/huaxin_trade_record_manager.py | 33 +++++++++++++++++++++++++++------ 1 files changed, 27 insertions(+), 6 deletions(-) diff --git a/utils/huaxin_trade_record_manager.py b/utils/huaxin_trade_record_manager.py index 53c8069..8400653 100644 --- a/utils/huaxin_trade_record_manager.py +++ b/utils/huaxin_trade_record_manager.py @@ -15,6 +15,10 @@ class DelegateRecordManager: + key_list = ["id", "orderLocalID", "securityID", "securityName", "direction", "orderSysID", "insertTime", + "insertDate", "acceptTime", "cancelTime", "limitPrice", "turnover", "volume", "volumeTraded", + "orderStatus", "orderSubmitStatus", "statusMsg", "createTime", "updateTime", "accountID"] + @classmethod def add(cls, datas): mysqldb = mysql_data.Mysqldb() @@ -82,9 +86,6 @@ results = mysqldb.select_all( f"select * from hx_trade_delegate_record r where {' and '.join(where_list)} order by createTime") # 杞琩ict - key_list = ["id", "orderLocalID", "securityID", "securityName", "direction", "orderSysID", "insertTime", - "insertDate", "acceptTime", "cancelTime", "limitPrice", "turnover", "volume", "volumeTraded", - "orderStatus", "orderSubmitStatus", "statusMsg", "createTime", "updateTime", "accountID"] fresults = [] max_update_time = None if results: @@ -96,13 +97,33 @@ temp = {} for i in range(len(r)): if type(r[i]) == datetime.datetime: - temp[key_list[i]] = r[i].strftime("%Y-%m-%d %H:%M:%S") + temp[cls.key_list[i]] = r[i].strftime("%Y-%m-%d %H:%M:%S") else: - temp[key_list[i]] = r[i] + temp[cls.key_list[i]] = r[i] fresults.append(temp) return fresults, max_update_time.strftime("%Y-%m-%d %H:%M:%S") if max_update_time else None finally: pass + + # 鑾峰彇鏈�杩戠殑鎾ゅ崟璁板綍 + @classmethod + def list_latest_cancel_records(cls, count, day=tool.get_now_date_str("%Y%m%d")): + mysqldb = mysql_data.Mysqldb() + where_list = [f"r.insertDate='{day}'", "r.cancelTime!=''"] + results = mysqldb.select_many( + f"select * from hx_trade_delegate_record r where {' and '.join(where_list)} order by r.cancelTime desc", + count) + fresults = [] + if results: + for r in results: + temp = {} + for i in range(len(r)): + if type(r[i]) == datetime.datetime: + temp[cls.key_list[i]] = r[i].strftime("%Y-%m-%d %H:%M:%S") + else: + temp[cls.key_list[i]] = r[i] + fresults.append(temp) + return fresults # 鎸佷粨璁板綍 @@ -316,5 +337,5 @@ if __name__ == "__main__": - results = DelegateRecordManager.list_by_day('20230704', '1970-01-01') + results = DelegateRecordManager.list_latest_cancel_records(10) print(results) -- Gitblit v1.8.0