From 78beef257c2d9158f5ea3ea86ab4e8008ecb4544 Mon Sep 17 00:00:00 2001 From: handsome Date: Fri, 19 Sep 2025 14:12:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=BF=E9=97=B4=E6=97=A5=E5=A5=96=E5=8A=B1-?= =?UTF-8?q?=E9=A6=96=E9=A1=B5-=E6=B5=81=E6=B0=B4=E5=80=BC-=E5=B0=8F?= =?UTF-8?q?=E6=95=B0=E5=8F=96=E4=B8=A4=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/room/RoomDaySendRankRewardManager.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/room/RoomDaySendRankRewardManager.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/room/RoomDaySendRankRewardManager.java index 0375ebb49..51cd68659 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/room/RoomDaySendRankRewardManager.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/room/RoomDaySendRankRewardManager.java @@ -116,7 +116,7 @@ public class RoomDaySendRankRewardManager { Date statTime = Boolean.TRUE.equals(isToday)? todayTime: DateTimeUtil.addDays(todayTime, -1); Set> rankList = sendRoomDayRankService.getRank(statTime, roomUid, 0L, -1L, room.getPartitionId()); - BigDecimal roomSerialValue = rankList.stream().map(entry-> new BigDecimal(entry.get(RedisZSetEnum.score.name()).toString())).reduce(BigDecimal.ZERO, BigDecimal::add); + BigDecimal roomSerialValue = rankList.stream().map(entry-> BigDecimal.valueOf((Double)entry.get(RedisZSetEnum.score.name())).setScale(2, RoundingMode.DOWN)).reduce(BigDecimal.ZERO, BigDecimal::add); RoomDaySendRankRewardHomeVo.RewardInfoVo rewardInfoVo = rewardService.buildBySerialValue(roomSerialValue); vo.setRewardInfo(rewardInfoVo); @@ -140,13 +140,13 @@ public class RoomDaySendRankRewardManager { List uidList = top10RankList.stream().map(entry-> Long.parseLong(entry.get(RedisZSetEnum.member.name()).toString())).toList(); Map usersMap = usersService.getUsersMapByUids(uidList); - BigDecimal top10SerialValue = top10RankList.stream().map(entry-> new BigDecimal(entry.get(RedisZSetEnum.score.name()).toString())).reduce(BigDecimal.ZERO, BigDecimal::add); + BigDecimal top10SerialValue = top10RankList.stream().map(entry-> BigDecimal.valueOf((Double)entry.get(RedisZSetEnum.score.name())).setScale(2, RoundingMode.DOWN)).reduce(BigDecimal.ZERO, BigDecimal::add); int rank = 1; List voList = new ArrayList<>(); for (Map entry: top10RankList){ Long uid = Long.parseLong(entry.get(RedisZSetEnum.member.name()).toString()); - BigDecimal score = new BigDecimal(entry.get(RedisZSetEnum.score.name()).toString()); + BigDecimal score = BigDecimal.valueOf((Double)entry.get(RedisZSetEnum.score.name())).setScale(2, RoundingMode.DOWN); RoomDaySendRankRewardHomeVo.RankItemVo itemVo = new RoomDaySendRankRewardHomeVo.RankItemVo(); itemVo.setRanking(rank++); @@ -193,7 +193,7 @@ public class RoomDaySendRankRewardManager { int rank = 1; for (Map entry: rankList){ Long uid = Long.parseLong(entry.get(RedisZSetEnum.member.name()).toString()); - BigDecimal score = new BigDecimal(entry.get(RedisZSetEnum.score.name()).toString()); + BigDecimal score = BigDecimal.valueOf((Double)entry.get(RedisZSetEnum.score.name())).setScale(2, RoundingMode.DOWN); if (rank <= 10){ theTenScore = score;