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