diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/room/query/RoomVoiceDiscoverQryExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/room/query/RoomVoiceDiscoverQryExe.java index 3c444724..f0d6468b 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/room/query/RoomVoiceDiscoverQryExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/room/query/RoomVoiceDiscoverQryExe.java @@ -65,7 +65,9 @@ public class RoomVoiceDiscoverQryExe { // 区域隔离常量 - 与ActiveVoiceRoomServiceImpl保持一致 private static final Set TR_REGIONS = Set.of("TR"); - private static final Set SA_REGIONS = Set.of("BD","SA", "IN", "PK"); + private static final Set BD_REGIONS = Set.of("BD"); + private static final Set IN_REGIONS = Set.of("IN"); + private static final Set PK_REGIONS = Set.of("PK"); private static final Set AR_REGIONS = Set.of("AE", "AR", "BH", "DJ", "DZ", "EG", "EY", "ER", "IL", "IQ", "JO", "KM", "KW", "LB", "LY", "MA", "MR", "OM", "PS", "QA", "SD", "SO", "SS", "SY", "TD", "TN", "YE"); private static final Set OTHER_REGIONS = Set.of("OTHER", "PH", "ID", "GH", "IR", "AF", "NG", "DE", "MYS", "TM", "AZ", "NP"); @@ -278,8 +280,14 @@ public class RoomVoiceDiscoverQryExe { * 获取区域所属的特殊区域组(如果不属于任何特殊组则返回null) */ private Set getRegionGroup(String region) { - if (SA_REGIONS.contains(region)) { - return SA_REGIONS; + if (BD_REGIONS.contains(region)) { + return BD_REGIONS; + } + if (IN_REGIONS.contains(region)) { + return IN_REGIONS; + } + if (PK_REGIONS.contains(region)) { + return PK_REGIONS; } if (AR_REGIONS.contains(region)) { return AR_REGIONS; @@ -293,50 +301,6 @@ public class RoomVoiceDiscoverQryExe { return null; } - - /** - * 获取需要排除的区域列表 - */ - private List getRegions(String region) { - List excludeRegions = new ArrayList<>(); - - if (SA_REGIONS.contains(region)) { - excludeRegions.addAll(AR_REGIONS); - excludeRegions.addAll(OTHER_REGIONS); - } else if (AR_REGIONS.contains(region)) { - excludeRegions.addAll(SA_REGIONS); - excludeRegions.addAll(OTHER_REGIONS); - } else if (OTHER_REGIONS.contains(region)) { - excludeRegions.addAll(SA_REGIONS); - excludeRegions.addAll(AR_REGIONS); - } else { - excludeRegions.addAll(SA_REGIONS); - excludeRegions.addAll(AR_REGIONS); - excludeRegions.addAll(OTHER_REGIONS); - } - - return excludeRegions; - } - - /** - * 获取特殊区域组列表 - */ - private List getSpecialRegions(String region) { - if (SA_REGIONS.contains(region)) { - return new ArrayList<>(SA_REGIONS); - } - - if (AR_REGIONS.contains(region)) { - return new ArrayList<>(AR_REGIONS); - } - - if (OTHER_REGIONS.contains(region)) { - return new ArrayList<>(OTHER_REGIONS); - } - - return new ArrayList<>(); - } - /** * 从缓存中获取没人的房间 * diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/mongo/service/live/impl/ActiveVoiceRoomServiceImpl.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/mongo/service/live/impl/ActiveVoiceRoomServiceImpl.java index 0e4ce78b..0cd01791 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/mongo/service/live/impl/ActiveVoiceRoomServiceImpl.java +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/mongo/service/live/impl/ActiveVoiceRoomServiceImpl.java @@ -37,14 +37,18 @@ public class ActiveVoiceRoomServiceImpl implements ActiveVoiceRoomService { private final MongoTemplate mongoTemplate; private static final Set TR_REGIONS = Set.of("TR"); - private static final Set SA_REGIONS = Set.of("BD","SA", "IN", "PK"); + private static final Set BD_REGIONS = Set.of("BD"); + private static final Set IN_REGIONS = Set.of("IN"); + private static final Set PK_REGIONS = Set.of("PK"); private static final Set AR_REGIONS = Set.of("AE", "AR", "BH", "DJ", "DZ", "EG", "EY", "ER", "IL", "IQ", "JO", "KM", "KW", "LB", "LY", "MA", "MR", "OM", "PS", "QA", "SD", "SO", "SS", "SY", "TD", "TN", "YE"); private static final Set OTHER_REGIONS = Set.of("OTHER", "PH", "ID", "GH", "IR", "AF", "NG", "DE", "MYS", "TM", "AZ", "NP"); private static final Set ALL_SPECIAL_REGIONS; static { Set temp = new HashSet<>(); - temp.addAll(SA_REGIONS); + temp.addAll(BD_REGIONS); + temp.addAll(IN_REGIONS); + temp.addAll(PK_REGIONS); temp.addAll(AR_REGIONS); temp.addAll(TR_REGIONS); temp.addAll(OTHER_REGIONS); @@ -188,8 +192,14 @@ public class ActiveVoiceRoomServiceImpl implements ActiveVoiceRoomService { * 获取区域所属的特殊区域组(如果不属于任何特殊组则返回null) */ private Set getRegionGroup(String region) { - if (SA_REGIONS.contains(region)) { - return SA_REGIONS; + if (BD_REGIONS.contains(region)) { + return BD_REGIONS; + } + if (IN_REGIONS.contains(region)) { + return IN_REGIONS; + } + if (PK_REGIONS.contains(region)) { + return PK_REGIONS; } if (AR_REGIONS.contains(region)) { return AR_REGIONS; @@ -207,24 +217,8 @@ public class ActiveVoiceRoomServiceImpl implements ActiveVoiceRoomService { * 获取指定区域组需要排除的其他区域组 */ private Set getExcludeRegionsForGroup(Set regionGroup) { - Set excludes = new HashSet<>(); - if (regionGroup == SA_REGIONS) { - excludes.addAll(AR_REGIONS); - excludes.addAll(OTHER_REGIONS); - excludes.addAll(TR_REGIONS); - } else if (regionGroup == AR_REGIONS) { - excludes.addAll(SA_REGIONS); - excludes.addAll(OTHER_REGIONS); - excludes.addAll(TR_REGIONS); - } else if (regionGroup == OTHER_REGIONS) { - excludes.addAll(SA_REGIONS); - excludes.addAll(AR_REGIONS); - excludes.addAll(TR_REGIONS); - } else if (regionGroup == TR_REGIONS) { - excludes.addAll(SA_REGIONS); - excludes.addAll(AR_REGIONS); - excludes.addAll(OTHER_REGIONS); - } + Set excludes = new HashSet<>(ALL_SPECIAL_REGIONS); + excludes.removeAll(regionGroup); return excludes; }