diff --git a/rc-service/rc-service-live/live-infrastructure/src/main/java/com/red/circle/live/infra/repository/LiveMicrophoneGatewayImpl.java b/rc-service/rc-service-live/live-infrastructure/src/main/java/com/red/circle/live/infra/repository/LiveMicrophoneGatewayImpl.java index 0cc95f14..5a522917 100644 --- a/rc-service/rc-service-live/live-infrastructure/src/main/java/com/red/circle/live/infra/repository/LiveMicrophoneGatewayImpl.java +++ b/rc-service/rc-service-live/live-infrastructure/src/main/java/com/red/circle/live/infra/repository/LiveMicrophoneGatewayImpl.java @@ -595,13 +595,14 @@ public class LiveMicrophoneGatewayImpl implements LiveMicrophoneGateway { List liveMicSettingSeats = initMicSetting(roomId); if (CollectionUtils.isEmpty(liveMicSettingSeats)) { return CollectionUtils.newArrayList(); - } - - Map liveMicrophoneMap = mapLiveMicrophone(roomId); - log.info("在线取麦克风列表信息 -Map: {}", liveMicrophoneMap); - return liveMicSettingSeats.stream().map(seat -> new LiveMicrophoneDTO() - .setRoomId(roomId) - .setMicIndex(seat.getMicIndex()) + } + + Map liveMicrophoneMap = mapLiveMicrophone(roomId); + log.debug("list live microphone map summary, roomId={}, micCount={}", roomId, + liveMicrophoneMap.size()); + return liveMicSettingSeats.stream().map(seat -> new LiveMicrophoneDTO() + .setRoomId(roomId) + .setMicIndex(seat.getMicIndex()) .setMicLock(seat.getMicLock()) .setMicMute(seat.getMicMute()) .setUser(liveMicInfraConvertor.toLiveMicUserDTO( @@ -655,24 +656,26 @@ public class LiveMicrophoneGatewayImpl implements LiveMicrophoneGateway { public void initMicSetting(Long roomId, Integer micSize) { init(roomId, micSize); } - - private Map mapLiveMicrophone(Long roomId) { - List liveMicrophones = liveMicCacheService.listLiveMicrophone(roomId); - log.info("在线取麦克风列表信息 -列表: {}", liveMicrophones); - //获取房间用户心动值 - Map liveHeartbeatMap = getLiveHeartbeatMap(liveHeartbeatClient.listLiveHeartbeat(roomId).getBody()); - if (CollectionUtils.isEmpty(liveMicrophones)) { + + private Map mapLiveMicrophone(Long roomId) { + List liveMicrophones = liveMicCacheService.listLiveMicrophone(roomId); + log.debug("list live microphone cache summary, roomId={}, micCount={}", roomId, + liveMicrophones.size()); + //获取房间用户心动值 + Map liveHeartbeatMap = getLiveHeartbeatMap(liveHeartbeatClient.listLiveHeartbeat(roomId).getBody()); + if (CollectionUtils.isEmpty(liveMicrophones)) { return CollectionUtils.newHashMap(); } List liveMicUsers = liveMicrophones.stream().map(LiveMicrophone::getUser).toList(); - List userIds = liveMicUsers.stream().map(LiveMicUser::getId).toList(); - updateLiveMicrophoneUserInfo(liveMicrophones, roomId, userIds); - Map cpUserIdMap = userCpClient.getCpUserIdByUserIds(userIds).getBody(); - log.info("用户ID集合={}, 结果集cpUserIdMap = {}", userIds, cpUserIdMap); - return liveMicrophones.stream() - .peek(liveMicrophone -> { - LiveMicUser user = liveMicrophone.getUser(); + List userIds = liveMicUsers.stream().map(LiveMicUser::getId).toList(); + updateLiveMicrophoneUserInfo(liveMicrophones, roomId, userIds); + Map cpUserIdMap = userCpClient.getCpUserIdByUserIds(userIds).getBody(); + log.debug("list live microphone cp user summary, roomId={}, userCount={}, cpUserCount={}", + roomId, userIds.size(), Objects.nonNull(cpUserIdMap) ? cpUserIdMap.size() : 0); + return liveMicrophones.stream() + .peek(liveMicrophone -> { + LiveMicUser user = liveMicrophone.getUser(); user.setHeartbeatVal(Objects.nonNull(liveHeartbeatMap.get(user.getId()))? liveHeartbeatMap.get(user.getId()):0L); user.setCpUserId(Objects.nonNull(cpUserIdMap.get(user.getId()))? cpUserIdMap.get(user.getId()):0L); liveMicrophone.setUser(user);