From 3a8a4a33733062c68885584dd3746d638e98e1f8 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期四, 28 三月 2024 18:29:56 +0800
Subject: [PATCH] 不统计被动卖

---
 l2/l2_transaction_data_manager.py |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/l2/l2_transaction_data_manager.py b/l2/l2_transaction_data_manager.py
index 37a3cb4..c065ade 100644
--- a/l2/l2_transaction_data_manager.py
+++ b/l2/l2_transaction_data_manager.py
@@ -7,6 +7,7 @@
 from db.redis_manager_delegate import RedisUtils
 from l2 import l2_log
 from l2.huaxin import l2_huaxin_util
+from l2.l2_data_util import local_today_sellno_map
 
 from log_module import async_log_util
 from log_module.log import hx_logger_l2_transaction_desc, hx_logger_l2_transaction_sell_order
@@ -117,7 +118,12 @@
         if code not in cls.__big_sell_order_info_list_dict:
             cls.__big_sell_order_info_list_dict[code] = []
 
+        sell_no_map = local_today_sellno_map.get(code)
+        if not sell_no_map:
+            sell_no_map = {}
         for d in datas:
+            if f"{d[7]}" in sell_no_map:
+                continue
             cls.__latest_sell_order_info_list_dict[code].append(d)
             if code not in cls.__latest_sell_order_dict:
                 cls.__latest_sell_order_dict[code] = [d[7], d[2], d[1], (d[3], d[6]), (d[3], d[6])]
@@ -144,7 +150,6 @@
         min_time_int = int(min_time.replace(":", "").replace(".", ""))
         # 璁$畻鏈�杩�1s鐨勫ぇ鍗曟垚浜�
         total_big_sell_datas = cls.__big_sell_order_info_list_dict.get(code)
-        start_index = 0
 
         total_sell_info = [0, None]  # 鎬昏祫閲�,寮�濮嬫垚浜や俊鎭�,缁撴潫鎴愪氦淇℃伅
         latest_sell_order_info = cls.__latest_sell_order_dict[code]
@@ -155,6 +160,9 @@
         # 缁熻宸茬粡缁撶畻鍑虹殑澶у崟
         for i in range(len(total_big_sell_datas) - 1, -1, -1):
             bd = total_big_sell_datas[i]
+            if min_time_int > int(
+                    l2_huaxin_util.convert_time(bd[3][0], with_ms=True).replace(":", "").replace(".", "")):
+                break
             if bd[0] != latest_sell_order_info[0]:
                 # 涓嶆槸鏈�杩戠殑鎴愪氦涓斾笉鏄ぇ鍗曠洿鎺ヨ繃婊�
                 if bd[0] not in big_sell_order_ids:
@@ -172,10 +180,6 @@
                         big_sell_orders.append(latest_sell_order_info)
                         temp_sell_order_ids.add(latest_sell_order_info[0])
 
-            if min_time_int > int(
-                    l2_huaxin_util.convert_time(bd[3][0], with_ms=True).replace(":", "").replace(".", "")):
-                start_index = i
-                break
             # 缁熻鏈�杩�1s鐨勫ぇ鍗栧崟鏁版嵁
             total_sell_info[0] += int(bd[1] * bd[2])
         # 缁熻鏈�杩戠殑澶у崟
@@ -187,5 +191,4 @@
 
         big_sell_orders.reverse()
         total_sell_info[1] = big_sell_orders
-        cls.__latest_sell_order_info_list_dict[code] = cls.__latest_sell_order_info_list_dict[code][start_index:]
         return total_sell_info

--
Gitblit v1.8.0