浏览代码

增加对开关是否打开的判断

刘立冬 1 月之前
父节点
当前提交
fcf1910b4e

+ 23 - 7
risk-control-core/src/main/java/com/tzld/piaoquan/risk/control/service/impl/RiskRuleConfigService.java

@@ -5,18 +5,34 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 @Slf4j
 @Service
 public class RiskRuleConfigService {
-//    @Autowired
-//
-//    //过滤规则,打开开关的群生效
-//    Map<String, List<RoomListResponse.RoomInfo>> kickOpenedRoom(Map<String, List<RoomListResponse.RoomInfo>> tobeOperate) {
-//        Map<String, List<RoomListResponse.RoomInfo>> filterdMap = tobeOperate;
-//        return null;
-//    }
+    @Autowired
+    private WorkWechatServiceImpl workWechatServiceImpl;
+    Map<String, List<RoomListResponse.RoomInfo>> getKickOpenedRoom(Map<String, List<RoomListResponse.RoomInfo>> tobeOperate) {
+        Map<String, List<RoomListResponse.RoomInfo>> filteredMap = new HashMap<>();
+
+        for (Map.Entry<String, List<RoomListResponse.RoomInfo>> entry : tobeOperate.entrySet()) {
+            List<RoomListResponse.RoomInfo> filteredRooms = new ArrayList<>();
+
+            for (RoomListResponse.RoomInfo room : entry.getValue()) {
+                if (workWechatServiceImpl.checkAutoRemoveUserStatusIsOpen(room.getRoomId())) {
+                    filteredRooms.add(room);
+                }
+            }
+
+            if (!filteredRooms.isEmpty()) {
+                filteredMap.put(entry.getKey(), filteredRooms);
+            }
+        }
+
+        return filteredMap;
+    }
 
 }

+ 1 - 9
risk-control-core/src/main/java/com/tzld/piaoquan/risk/control/service/impl/RiskUserHandleService.java

@@ -40,21 +40,13 @@ public class RiskUserHandleService {
         log.info("handleRiskUser, riskUserInfo: {}", riskUserInfo);
         //根据名称找到人
         List<UserBase> staffList = findStaffByName(riskUserInfo);
-//        //for test
-//        List<UserBase> staffList = new ArrayList<>();
-//        UserBase staff1 = new UserBase();
-//        staff1.setVid("1688858050719288");
-//        staff1.setUuid("a09c1237a66a2f30868c9e71b0941fac");
-//        staffList.add(staff1);
-
         if (staffList.isEmpty()) return;
         //根据群名匹配到:人-群:哪个员工哪个群
         Map<String, List<RoomListResponse.RoomInfo>> toBeOperate = matchUserAndRoom(staffList, riskUserInfo);
         if (toBeOperate.isEmpty()) return;
         log.info("handleRiskUser, toBeOperate: {}", toBeOperate);
         //TODO:检查过滤规则是否配置
-//        riskRuleConfigService.isKickOpen()
-
+        toBeOperate = riskRuleConfigService.getKickOpenedRoom(toBeOperate);
 
         //找到待踢的人,找到终止
         for (Map.Entry<String, List<RoomListResponse.RoomInfo>> entry : toBeOperate.entrySet()) {