diff --git a/rc-service/rc-service-live/live-application/src/main/java/com/red/circle/live/app/listener/UserHeartbeatListener.java b/rc-service/rc-service-live/live-application/src/main/java/com/red/circle/live/app/listener/UserHeartbeatListener.java index 268f950a..23f538fb 100644 --- a/rc-service/rc-service-live/live-application/src/main/java/com/red/circle/live/app/listener/UserHeartbeatListener.java +++ b/rc-service/rc-service-live/live-application/src/main/java/com/red/circle/live/app/listener/UserHeartbeatListener.java @@ -126,7 +126,14 @@ public class UserHeartbeatListener implements MessageListener { // 房间内同时在线用户数 if (Objects.equals(roomProfile.getUserId(), event.getUserId())) { List liveRoomUsers = liveMicUserCacheService.listUser(roomProfile.getId()); - Set userIdList = liveRoomUsers.stream().map(LiveRoomUser::getUserId).collect(Collectors.toSet()); + Set userIdList = liveRoomUsers.stream() + .map(LiveRoomUser::getUserId) + .filter(userId -> !userId.equals(roomProfile.getUserId())) + .collect(Collectors.toSet()); + + if (CollectionUtils.isEmpty(userIdList)) { + return; + } MemberRolesQryCmd roleQry = new MemberRolesQryCmd().setRoomId(roomId).setUserIds(userIdList); Map body = roomMemberClient.mapMemberRoles(roleQry).getBody();