房间周流水-后台-计算奖励
This commit is contained in:
@@ -39,7 +39,7 @@ public class RoomWeekDiamondRewardRecordAdminVo {
|
||||
private BigDecimal goldNum;
|
||||
@ExcelIgnore
|
||||
@ApiModelProperty("奖励等级id")
|
||||
private String levelId;
|
||||
private Integer levelId;
|
||||
@ExcelProperty("等级名称")
|
||||
@ApiModelProperty("等级名称")
|
||||
private String levelName;
|
||||
|
@@ -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("该房间未达到发放标准");
|
||||
}
|
||||
|
@@ -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,
|
||||
|
@@ -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();
|
||||
}
|
||||
|
Reference in New Issue
Block a user