From 18c6d2b0dd77b38f487747aad1fcd1218aa8c356 Mon Sep 17 00:00:00 2001
From: yj <2077506045@qq.com>
Date: 星期三, 27 八月 2025 09:19:57 +0800
Subject: [PATCH] 1. 新增测试群组关键字,测试群组名称包含关键字,在其中发言一律不触发静默。

---
 app/services/friend_ignore_service.py |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/app/services/friend_ignore_service.py b/app/services/friend_ignore_service.py
index 061c771..2b0123f 100644
--- a/app/services/friend_ignore_service.py
+++ b/app/services/friend_ignore_service.py
@@ -8,6 +8,7 @@
 from app.services.redis_queue import redis_queue
 from app.models.database import get_db
 from app.models.contact import Contact
+from app.services.silence_service import silence_service
 from config import settings
 
 
@@ -84,18 +85,20 @@
             logger.error(f"娣诲姞濂藉弸鍒板拷鐣ュ垪琛ㄥ紓甯�: error={str(e)}")
             return False
 
-    def is_friend_ignored(self, w_id: str) -> bool:
+    def is_friend_ignored(self, w_id: str, group_id: Optional[str] = None) -> bool:
         """
         妫�鏌ユ寚瀹歸_id鏄惁搴旇琚拷鐣�
 
         閫昏緫锛�
         1. 濡傛灉濂藉弸蹇界暐鍔熻兘鏈惎鐢紝杩斿洖False锛堜笉蹇界暐锛�
         2. 濡傛灉w_id鍦ㄧ櫧鍚嶅崟涓紝杩斿洖False锛堜笉蹇界暐锛�
-        3. 濡傛灉w_id鍦ㄥ拷鐣ュ垪琛ㄤ腑锛岃繑鍥濼rue锛堝拷鐣ワ級
-        4. 濡傛灉w_id涓嶅湪蹇界暐鍒楄〃涓紝杩斿洖False锛堜笉蹇界暐锛�
+        3. 濡傛灉w_id鍦ㄥ拷鐣ュ垪琛ㄤ腑锛屼絾鎵�鍦ㄧ兢缁勪负娴嬭瘯缇ょ粍锛岃繑鍥濬alse锛堜笉蹇界暐锛�
+        4. 濡傛灉w_id鍦ㄥ拷鐣ュ垪琛ㄤ腑锛岃繑鍥濼rue锛堝拷鐣ワ級
+        5. 濡傛灉w_id涓嶅湪蹇界暐鍒楄〃涓紝杩斿洖False锛堜笉蹇界暐锛�
 
         Args:
             w_id: 鐢ㄦ埛w_id
+            group_id: 缇ょ粍ID锛堝彲閫夛級锛岀敤浜庢鏌ユ槸鍚︿负娴嬭瘯缇ょ粍
 
         Returns:
             濡傛灉搴旇琚拷鐣ヨ繑鍥濼rue锛屽惁鍒欒繑鍥濬alse
@@ -116,8 +119,13 @@
             is_in_ignore_list = redis_queue.redis_client.sismember(self.ignore_list_key, w_id)
 
             if is_in_ignore_list:
+                # 濡傛灉鍦ㄥ拷鐣ュ垪琛ㄤ腑锛屾鏌ユ槸鍚﹀湪娴嬭瘯缇ょ粍涓�
+                if group_id and silence_service.is_test_group(group_id):
+                    logger.info(f"娴嬭瘯缇ょ粍涓殑濂藉弸娑堟伅涓嶈蹇界暐: w_id={w_id}, group_id={group_id}")
+                    return False
+                
                 logger.info(f"w_id鍦ㄥ拷鐣ュ垪琛ㄤ腑锛屽拷鐣ユ秷鎭�: w_id={w_id}")
-
+                
             return is_in_ignore_list
 
         except Exception as e:

--
Gitblit v1.9.1