房间周流水-后台-计算奖励

This commit is contained in:
2025-08-29 14:22:19 +08:00
parent b5c3572bc9
commit 6a810427ff
4 changed files with 21 additions and 11 deletions

View File

@@ -39,7 +39,7 @@ public class RoomWeekDiamondRewardRecordAdminVo {
private BigDecimal goldNum;
@ExcelIgnore
@ApiModelProperty("奖励等级id")
private String levelId;
private Integer levelId;
@ExcelProperty("等级名称")
@ApiModelProperty("等级名称")
private String levelName;

View File

@@ -128,7 +128,16 @@ public class RoomWeekDiamondRewardRecordAdminService extends ServiceImpl<RoomWee
continue;
}
TreeMap<BigDecimal, RoomWeekDiamondReward> dayDiamondRewardTreeMap = partitionTreeMap.get(row.getPartitionId());
row.setRewardGold(roomWeekDiamondRewardService.calGoldReward(dayDiamondRewardTreeMap, row.getGoldNum()));
RoomWeekDiamondReward rewardLevel = roomWeekDiamondRewardService.calReward(dayDiamondRewardTreeMap, row.getDiamondNum());
if (null == rewardLevel){
row.setLevelId(null);
row.setLevelName(null);
row.setRewardGold(roomWeekDiamondRewardService.calGoldReward(dayDiamondRewardTreeMap, row.getDiamondNum()));
continue;
}
row.setLevelId(rewardLevel.getId());
row.setLevelName(rewardLevel.getLevelName());
row.setRewardGold(roomWeekDiamondRewardService.calGoldReward(dayDiamondRewardTreeMap, row.getDiamondNum()));
}
return pageResult;
}
@@ -167,7 +176,7 @@ public class RoomWeekDiamondRewardRecordAdminService extends ServiceImpl<RoomWee
throw new AdminServiceException("该房间奖励已经发放");
}
TreeMap<BigDecimal, RoomWeekDiamondReward> treeMapByPartitionId = roomWeekDiamondRewardService.getRewardTreeMapByPartitionId(partitionId);
BigDecimal goldReward = roomWeekDiamondRewardService.calGoldReward(treeMapByPartitionId, weekDiamondNum.getGoldNum());
BigDecimal goldReward = roomWeekDiamondRewardService.calGoldReward(treeMapByPartitionId, weekDiamondNum.getDiamondNum());
if (goldReward.doubleValue() <= 0) {
throw new AdminServiceException("该房间未达到发放标准");
}

View File

@@ -14,8 +14,6 @@
rn.gold_num goldNum,
rm.`title` roomName,
ri.`name` regionName,
reward.id levelId,
rwr.level_name levelName,
reward.reward_gold rewardGold,
au.username operator,
pi.`desc` partitionIdDesc,

View File

@@ -27,18 +27,21 @@ public class RoomWeekDiamondRewardService extends ServiceImpl<RoomWeekDiamondRew
return treeMap;
}
public BigDecimal calGoldReward(TreeMap<BigDecimal, RoomWeekDiamondReward> treeMap, BigDecimal diamond) {
BigDecimal gold = BigDecimal.ZERO;
public RoomWeekDiamondReward calReward(TreeMap<BigDecimal, RoomWeekDiamondReward> treeMap, BigDecimal diamond) {
if (treeMap.isEmpty()) {
return gold;
return null;
}
BigDecimal lowerKey = treeMap.lowerKey(diamond);
if (lowerKey == null) {
return gold;
return null;
}
RoomWeekDiamondReward roomWeekDiamondReward = treeMap.get(lowerKey);
return treeMap.get(lowerKey);
}
public BigDecimal calGoldReward(TreeMap<BigDecimal, RoomWeekDiamondReward> treeMap, BigDecimal diamond) {
RoomWeekDiamondReward roomWeekDiamondReward = calReward(treeMap, diamond);
if (roomWeekDiamondReward == null) {
return gold;
return BigDecimal.ZERO;
}
return roomWeekDiamondReward.getRewardGold();
}