diff --git a/rc-service/rc-service-live/live-client/src/main/java/com/red/circle/live/app/dto/clientobject/LiveMicUserCO.java b/rc-service/rc-service-live/live-client/src/main/java/com/red/circle/live/app/dto/clientobject/LiveMicUserCO.java index d42f6aee..2091dadb 100644 --- a/rc-service/rc-service-live/live-client/src/main/java/com/red/circle/live/app/dto/clientobject/LiveMicUserCO.java +++ b/rc-service/rc-service-live/live-client/src/main/java/com/red/circle/live/app/dto/clientobject/LiveMicUserCO.java @@ -69,6 +69,11 @@ public class LiveMicUserCO implements Serializable { */ private String roles; + /** + * 财富经验-等级. + */ + private Integer wealthLevel; + /** * 魅力等级. */ 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 05349842..8ec2d2f2 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 @@ -151,10 +151,21 @@ public class LiveMicrophoneGatewayImpl implements LiveMicrophoneGateway { //获取房间用户心动值 Map liveHeartbeatMap = getLiveHeartbeatMap(liveHeartbeatClient.listLiveHeartbeat(roomId).getBody()); + List body = userLevelClient.getUsersLevel(SysOriginPlatformEnum.ATYOU, userIds.stream().toList()).getBody(); + Map levelDTOMap = body.stream() + .collect(Collectors.toMap(WealthAndCharmLevelDTO::getUserId, v -> v, (v1, v2) -> v1)); - return micUsers.stream().peek(mickUser -> - mickUser.setRoles(Objects.toString(Optional.ofNullable(roomUserRoles.get(mickUser.getId())).orElse(RoomUserRolesEnum.TOURIST))) - .setHeartbeatVal(Objects.nonNull(liveHeartbeatMap.get(mickUser.getId())) ? liveHeartbeatMap.get(mickUser.getId()) : 0L)) + return micUsers.stream().map(mickUser -> { + WealthAndCharmLevelDTO levelDTO = levelDTOMap.get(mickUser.getId()); + LiveMicUser liveMicUser = mickUser.setRoles(Objects.toString(Optional.ofNullable(roomUserRoles.get(mickUser.getId())).orElse(RoomUserRolesEnum.TOURIST))) + .setHeartbeatVal(Objects.nonNull(liveHeartbeatMap.get(mickUser.getId())) ? liveHeartbeatMap.get(mickUser.getId()) : 0L); + if (Objects.nonNull(liveMicUser)) { + liveMicUser.setCharmLevel(levelDTO.getCharmLevel()); + liveMicUser.setWealthLevel(levelDTO.getWealthLevel()); + } + + return liveMicUser; + }) .collect(Collectors.toMap(LiveMicUser::getId, v -> v)); }