From 5d3724416b02cb4f8b0e2b99d6362a2a83549b3e Mon Sep 17 00:00:00 2001 From: tianfeng <769204422@qq.com> Date: Mon, 15 Sep 2025 19:21:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E7=8E=B0=E9=A1=B5=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/command/room/query/RoomVoiceDiscoverQryExe.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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 a17c7d88..830d3986 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 @@ -66,9 +66,10 @@ public class RoomVoiceDiscoverQryExe { List activeVoiceRooms = activeVoiceRoomService.listDiscover(cmd.requireReqSysOrigin(), cmd.isAllRegion(), region, 50); log.info("activeVoiceRooms:{}", JSON.toJSONString(activeVoiceRooms)); // 处理没有人的房间,有缓存不会大量创建线程 - new Thread(() -> formatRoomList(activeVoiceRooms)).start(); + List longs = formatRoomList(activeVoiceRooms); + List list = activeVoiceRooms.stream().filter(e -> !longs.contains(e.getId())).toList(); - List roomList = roomVoiceProfileCommon.toListRoomVoiceProfileCO(activeVoiceRooms); + List roomList = roomVoiceProfileCommon.toListRoomVoiceProfileCO(list); if (CollectionUtils.isEmpty(roomList)) { //roomList = getHomeData(cmd,latestMobileDeviceService.getLatestLanguage(cmd.requiredReqUserId())); @@ -96,7 +97,7 @@ public class RoomVoiceDiscoverQryExe { * @param roomList * @return */ - private void formatRoomList(List roomList) { + private List formatRoomList(List roomList) { List notUserRooms = new ArrayList<>(); //只显示有人活跃用户,获取在线人数大于0的房间 roomList.forEach(item -> { @@ -109,7 +110,9 @@ public class RoomVoiceDiscoverQryExe { }); if (!notUserRooms.isEmpty()) { activeVoiceRoomService.removeByIds(notUserRooms); + return notUserRooms; } + return CollectionUtils.newArrayList(); } public static void main(String[] args) {