From 71164e33c8a579e551ca63e8c026d81059302a2c Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期二, 19 十一月 2024 17:52:19 +0800
Subject: [PATCH] bug修复

---
 third_data/code_plate_key_manager.py |   26 ++++++++++++++++++--------
 1 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/third_data/code_plate_key_manager.py b/third_data/code_plate_key_manager.py
index 3f448da..6869055 100644
--- a/third_data/code_plate_key_manager.py
+++ b/third_data/code_plate_key_manager.py
@@ -361,18 +361,23 @@
         #     blocks.add(data[1])
         # cls.__top_jx_blocks = blocks
         blocks = set()
+        count = 0
         for data in datas:
             if data[1] in constant.KPL_INVALID_BLOCKS:
                 continue
             if data[3] < 5e7:
                 continue
-            blocks.add(data[1])
-            if len(blocks) >= 10:
+            # 杩囨护鍑烘潵涓哄悓涓�涓澘鍧楀氨鍙畻1涓暟閲�
+            fb = BlockMapManager().filter_blocks({data[1]})
+            if blocks & fb:
+                continue
+            blocks |= fb
+            count += 1
+            if count >= 10:
                 break
-            blocks.add(kpl_util.filter_block(data[1]))
         # 璁板綍绮鹃�夋祦鍑烘棩蹇�
         async_log_util.info(logger_kpl_jx_in, f"鍘熸暟鎹細{datas[:20]} 鏉垮潡锛歿blocks}")
-        cls.__top_jx_blocks = BlockMapManager().filter_blocks(blocks)
+        cls.__top_jx_blocks = blocks
 
     @classmethod
     def set_market_jingxuan_out_blocks(cls, datas):
@@ -381,6 +386,7 @@
         @param datas:
         @return:
         """
+        count = 0
         blocks = set()
         for data in datas:
             if data[1] in constant.KPL_INVALID_BLOCKS:
@@ -388,13 +394,17 @@
             if data[3] > -5e7:
                 # 杩囨护5鍗冧竾浠ヤ笂鐨�
                 break
-            blocks.add(data[1])
-            if len(blocks) >= 10:
+            # 杩囨护鍑烘潵涓哄悓涓�涓澘鍧楀氨鍙畻1涓暟閲�
+            fb = BlockMapManager().filter_blocks({data[1]})
+            if blocks & fb:
+                continue
+            blocks |= fb
+            count += 1
+            if count >= 10:
                 break
-            blocks.add(kpl_util.filter_block(data[1]))
         # 璁板綍绮鹃�夋祦鍑烘棩蹇�
         async_log_util.info(logger_kpl_jx_out, f"鍘熸暟鎹細{datas[:10]} 鏉垮潡锛歿blocks}")
-        cls.__top_jx_out_blocks = BlockMapManager().filter_blocks(blocks)
+        cls.__top_jx_out_blocks = blocks
 
     @classmethod
     def get_top_market_jingxuan_blocks(cls):

--
Gitblit v1.8.0