From ee7fd3ae29dca5db4accf794c1d5e13a0ee48465 Mon Sep 17 00:00:00 2001 From: hokli <2629910752@qq.com> Date: Wed, 10 Sep 2025 19:00:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E4=BB=BB=E5=8A=A1=E6=88=BF=E9=97=B4?= =?UTF-8?q?=E6=97=A5=E6=B5=81=E6=B0=B4=E6=94=B9=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/RoomDayDiamondHandler.java | 18 +++++++++--------- .../room/RoomDayDiamondRewardService.java | 2 ++ .../impl/RoomDayDiamondRewardServiceImpl.java | 7 ++++++- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/dailytask/handler/RoomDayDiamondHandler.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/dailytask/handler/RoomDayDiamondHandler.java index 0258a88b5..e670d317e 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/dailytask/handler/RoomDayDiamondHandler.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/dailytask/handler/RoomDayDiamondHandler.java @@ -18,6 +18,7 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.TreeMap; @Component @DailyTaskHandlerType(DailyTaskTypeEnum.ROOM_DAY_DIAMOND) @@ -72,12 +73,18 @@ public class RoomDayDiamondHandler extends AbstractDailyTaskHandler { } BigDecimal totalGoldNum = roomDayDiamondNumService.getGoldNum(partitionId, uid, dayDate); dailyTaskRoomDiamondVo.setTotalGoldNum(totalGoldNum); + + TreeMap treeMap = roomDayDiamondRewardService.calRewardTreeMapByPartitionId(roomDayDiamondRewards); + RoomDayDiamondReward bigDiamondReward = roomDayDiamondRewardService.calGoldRewardEntity(treeMap, totalGoldNum); + if (bigDiamondReward != null) { + dailyTaskRoomDiamondVo.setMaxLevel(bigDiamondReward.getLevel()); + dailyTaskRoomDiamondVo.setTotalRewardNum(bigDiamondReward.getRewardGold()); + } List rewardList = new ArrayList<>(); dailyTaskRoomDiamondVo.setLevelVos(rewardList); Map levelMap = roomDayDiamondRewardRecvRecordService.getLevelMap(partitionId, uid, dayDate); Boolean domainSendCheck = roomDayDiamondRewardRecordService.checkExist(partitionId, uid, dayDate); int size = roomDayDiamondRewards.size(); - RoomDayDiamondReward bigDiamondReward = null; for (int i = 0; i < size; i++) { RoomDayDiamondReward diamondReward = roomDayDiamondRewards.get(i); DailyTaskRoomDiamondDetailVo detailVo = new DailyTaskRoomDiamondDetailVo(); @@ -95,27 +102,20 @@ public class RoomDayDiamondHandler extends AbstractDailyTaskHandler { ? tmpTotalGoldNum.compareTo(length)>=0 ? length : tmpTotalGoldNum : BigDecimal.ZERO; detailVo.setProcessNum(processNum); - Boolean received = !levelMap.isEmpty() && domainSendCheck; + Boolean received = !levelMap.isEmpty() || domainSendCheck; if (received) { detailVo.setStatus(ReceiveStatus.RECEIVED); dailyTaskRoomDiamondVo.setStatus(ReceiveStatus.RECEIVED); - bigDiamondReward = diamondReward; } else if (processNum.compareTo(length) == 0 && DateType.TODAY == dateType) { detailVo.setStatus(ReceiveStatus.RECEIVE_YESTERDAY); - bigDiamondReward = diamondReward; } else if (processNum.compareTo(length) == 0 && DateType.YESTERDAY == dateType) { detailVo.setStatus(ReceiveStatus.AVAILABLE); dailyTaskRoomDiamondVo.setStatus(ReceiveStatus.AVAILABLE); - bigDiamondReward = diamondReward; } else { detailVo.setStatus(ReceiveStatus.NOT_RECEIVE); } rewardList.add(detailVo); } - if (DateType.YESTERDAY == dateType && bigDiamondReward != null) { - dailyTaskRoomDiamondVo.setMaxLevel(bigDiamondReward.getLevel()); - dailyTaskRoomDiamondVo.setTotalRewardNum(bigDiamondReward.getRewardGold()); - } return dailyTaskRoomDiamondVo; } diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/room/RoomDayDiamondRewardService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/room/RoomDayDiamondRewardService.java index c9d46e5bf..8cd92efe7 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/room/RoomDayDiamondRewardService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/room/RoomDayDiamondRewardService.java @@ -17,6 +17,8 @@ public interface RoomDayDiamondRewardService extends IService getRewardTreeMapByPartitionId(Integer partitionId); + TreeMap calRewardTreeMapByPartitionId(List roomDayDiamondRewards); + /** * 根据钻石流水获取奖励 * @param treeMap diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/room/impl/RoomDayDiamondRewardServiceImpl.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/room/impl/RoomDayDiamondRewardServiceImpl.java index 866f61e87..f285713c2 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/room/impl/RoomDayDiamondRewardServiceImpl.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/room/impl/RoomDayDiamondRewardServiceImpl.java @@ -25,8 +25,13 @@ public class RoomDayDiamondRewardServiceImpl extends ServiceImpl getRewardTreeMapByPartitionId(Integer partitionId) { - TreeMap resultMap = new TreeMap<>(); List roomDayDiamondRewards = this.listByPartitionIdAsc(partitionId); + return this.calRewardTreeMapByPartitionId(roomDayDiamondRewards); + } + + @Override + public TreeMap calRewardTreeMapByPartitionId(List roomDayDiamondRewards) { + TreeMap resultMap = new TreeMap<>(); if (CollectionUtils.isEmpty(roomDayDiamondRewards)) { return resultMap; }