From 6a0d3ff5832e57ee1b1374d086f24b3c1679b332 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期五, 05 九月 2025 18:22:24 +0800
Subject: [PATCH] bug修复/降低测撤单率

---
 l2/l2_compute_util.py |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/l2/l2_compute_util.py b/l2/l2_compute_util.py
index 65ab148..5dcff4c 100644
--- a/l2/l2_compute_util.py
+++ b/l2/l2_compute_util.py
@@ -69,3 +69,30 @@
                 if total_count >= max_count:
                     return i
         return end_index
+
+    @classmethod
+    def is_canceled(cls, code, index, total_datas, canceled_buyno_map, dealing_buy_order_no, deal_order_nos):
+        """
+        鏄惁宸茬粡鎾ゅ崟
+        @param deal_order_nos: 鎴愪氦澶у崟闆嗗悎
+        @param dealing_buy_order_no: 姝e湪鎴愪氦鐨勪拱鍗曞彿
+        @param index: 绱㈠紩
+        @param code: 浠g爜
+        @param total_datas:
+        @param canceled_buyno_map:鎾ゅ崟鐨勮鍗曞彿
+        @return:
+        """
+        cancel_data = l2_data_source_util.L2DataSourceUtils.get_limit_up_buy_canceled_data_v2(code, index,
+                                                                                              total_datas,
+                                                                                              canceled_buyno_map)
+        if cancel_data:
+            # 宸茬粡鎾ゅ崟
+            return cancel_data
+        else:
+            # 姝e湪鎴愪氦鐨勪拱鍗曞彿澶т簬鎸傜殑涔板崟
+            orderNo = total_datas[index]['val']['orderNo']
+            if dealing_buy_order_no and orderNo < dealing_buy_order_no:
+                # 鎴愪氦杩涘害澶т簬绱㈠紩浣嶇疆锛屼笖杩樻病鎴愪氦
+                if orderNo not in deal_order_nos:
+                    return total_datas[index]
+            return None

--
Gitblit v1.8.0