From 1dea3d72da9d3d2d55f2e41b611913b0901d8074 Mon Sep 17 00:00:00 2001
From: admin <admin@example.com>
Date: 星期二, 17 六月 2025 19:15:19 +0800
Subject: [PATCH] 增加测试/记录精选流入板块

---
 strategy/forbidden_plates_manager.py |   63 +++++++++++++++++++++++++++++++
 1 files changed, 63 insertions(+), 0 deletions(-)

diff --git a/strategy/forbidden_plates_manager.py b/strategy/forbidden_plates_manager.py
new file mode 100644
index 0000000..9c8de9c
--- /dev/null
+++ b/strategy/forbidden_plates_manager.py
@@ -0,0 +1,63 @@
+"""
+榛戝悕鍗曟澘鍧楃鐞�
+"""
+import json
+
+from db import redis_manager_delegate as redis_manager
+from db.redis_manager_delegate import RedisUtils
+from utils import tool
+
+
+@tool.singleton
+class ForbiddenPlatesManager:
+    def __init__(self):
+        self.forbidden_plates = []
+        self.__db = 1
+        self.__redisManager = redis_manager.RedisManager(self.__db)
+        self.__load_forbidden_plates()
+
+    def __load_forbidden_plates(self):
+        plates = RedisUtils.get(self.__redisManager.getRedis(), "forbidden_plate_list")
+        if plates:
+            self.forbidden_plates = json.loads(plates)
+
+    def add_plate(self, plate):
+        """
+        娣诲姞鏉垮潡
+        :param plate:
+        :return:
+        """
+        if plate in self.forbidden_plates:
+            return
+        self.forbidden_plates.append(plate)
+        RedisUtils.setex_async(self.__db, "forbidden_plate_list",tool.get_expire(), json.dumps( self.forbidden_plates))
+
+    def remove_plate(self, plate):
+        """
+        绉婚櫎鏉垮潡
+        :param plate:
+        :return:
+        """
+        if plate not in self.forbidden_plates:
+            return
+        self.forbidden_plates.remove(plate)
+        RedisUtils.setex_async(self.__db, "forbidden_plate_list", tool.get_expire(), json.dumps(self.forbidden_plates))
+
+    def list_plates(self):
+        """
+        鍒楀嚭鎵�鏈夋澘鍧�
+        :return:
+        """
+        return self.forbidden_plates
+
+    def is_plate_forbidden(self, plate):
+        """
+        鍒ゆ柇鏉垮潡鏄惁琚姝�
+        :param plate:
+        :return:
+        """
+        return plate in self.forbidden_plates
+
+
+if __name__ == '__main__':
+    print(ForbiddenPlatesManager().list_plates())

--
Gitblit v1.8.0