From b8ec6faf40ea2a19f6cbba20b14bbf8d52ca013f Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期一, 13 十一月 2023 16:15:28 +0800
Subject: [PATCH] 修改l2数据上传规则(未生效)

---
 huaxin_client/l2_data_manager.py |   30 +++++++++++++++++++++++++++++-
 1 files changed, 29 insertions(+), 1 deletions(-)

diff --git a/huaxin_client/l2_data_manager.py b/huaxin_client/l2_data_manager.py
index c89727a..67074fa 100644
--- a/huaxin_client/l2_data_manager.py
+++ b/huaxin_client/l2_data_manager.py
@@ -36,6 +36,31 @@
         self.market_data_queue = market_data_queue
         self.temp_order_queue_dict = {}
         self.temp_transaction_queue_dict = {}
+        self.filter_order_condition_dict = {}
+
+    # TODO 闇�瑕佽皟鐢�
+    # 璁剧疆璁㈠崟杩囨护鏉′欢
+    def set_order_fileter_condition(self, code, min_volume, special_volumes=None, special_volumes_expire_time=None):
+        if special_volumes is None:
+            special_volumes = set()
+        self.filter_order_condition_dict[code] = [min_volume, special_volumes, special_volumes_expire_time]
+
+    # 杩囨护璁㈠崟
+    def __filter_order(self, item):
+        filter_condition = self.filter_order_condition_dict.get(item[0])
+        if filter_condition:
+            # item[2]涓洪噺
+            if item[2] >= filter_condition[0]:
+                return item
+            if filter_condition[1] and item[2] in filter_condition[1]:
+                if filter_condition[2] and time.time() > filter_condition[2]:
+                    # 瓒呮椂浜嗭紝闇�瑕佹竻闄ょ壒娈婇噺鏁版嵁
+                    filter_condition[1] = set()
+                    filter_condition[2] = None
+                    return None
+                return item
+            return None
+        return item
 
     # 娣诲姞濮旀墭璇︽儏
     def add_l2_order_detail(self, data, start_time, istransaction=False):
@@ -84,7 +109,10 @@
             try:
                 if not q:
                     data = q.popleft()
-                    temp_list.append(data)
+                    # 鍓嶇疆鏁版嵁澶勭悊锛岃繃婊ゆ帀鏃犵敤鐨勬暟鎹�
+                    data = self.__filter_order(data)
+                    if data:
+                        temp_list.append(data)
                 else:
                     if temp_list:
                         # 涓婁紶鏁版嵁

--
Gitblit v1.8.0