diff --git a/accompany-admin/accompany-admin-sdk/src/main/java/com/accompany/admin/vo/FamilyMemberWeekLevelRewardStatAdminVo.java b/accompany-admin/accompany-admin-sdk/src/main/java/com/accompany/admin/vo/FamilyMemberWeekLevelRewardStatAdminVo.java index 954fb6272..32aeeacbe 100644 --- a/accompany-admin/accompany-admin-sdk/src/main/java/com/accompany/admin/vo/FamilyMemberWeekLevelRewardStatAdminVo.java +++ b/accompany-admin/accompany-admin-sdk/src/main/java/com/accompany/admin/vo/FamilyMemberWeekLevelRewardStatAdminVo.java @@ -42,7 +42,7 @@ public class FamilyMemberWeekLevelRewardStatAdminVo { @ExcelProperty("周奖励等级") private Integer level; @ExcelProperty("周奖励等级") - private Integer levelName; + private String levelName; @ExcelProperty("钻石流水") @ApiModelProperty("钻石流水") private BigDecimal processNum; diff --git a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/GuildMemberWeekLevelRewardRecordAdminService.java b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/GuildMemberWeekLevelRewardRecordAdminService.java index 9488f635d..429c74c15 100644 --- a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/GuildMemberWeekLevelRewardRecordAdminService.java +++ b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/GuildMemberWeekLevelRewardRecordAdminService.java @@ -140,15 +140,20 @@ public class GuildMemberWeekLevelRewardRecordAdminService { BigDecimal rewardNum = BigDecimal.ZERO; BigDecimal bonusRewardNum = BigDecimal.ZERO; BigDecimal receiverdNum = BigDecimal.ZERO; + + BigDecimal preMaxNum = BigDecimal.ZERO; + for (GuildMemberWeekLevelReward rewardItem: weekLevelRewardList){ String key = String.join("_", po.getId().toString(), rewardItem.getLevel().toString()); Byte status = weekMap.getOrDefault(key, Constant.status.delete).byteValue(); + BigDecimal thisMaxNum = preMaxNum.add(rewardItem.getProcessNum()); + if (Constant.status.invalid.equals(status)) { level = rewardItem.getLevel(); levelName = rewardItem.getLevelName(); rewardNum = rewardNum.add(rewardItem.getRewardNum()); receiverdNum = receiverdNum.add(rewardItem.getRewardNum()); - } else if (Constant.status.valid.equals(status)) { + } else if (processNum.compareTo(thisMaxNum) >= 0) { level = rewardItem.getLevel(); levelName = rewardItem.getLevelName(); rewardNum = rewardNum.add(rewardItem.getRewardNum()); @@ -161,12 +166,15 @@ public class GuildMemberWeekLevelRewardRecordAdminService { if (Constant.status.invalid.equals(bonusStatus)) { bonusRewardNum = rewardNum.add(rewardItem.getBonusNum()); receiverdNum = receiverdNum.add(rewardItem.getBonusNum()); - } else if (Constant.status.valid.equals(bonusStatus)) { + } else if (bonusProcessNum.compareTo(rewardItem.getMicValidDay()) >= 0) { bonusRewardNum = rewardNum.add(rewardItem.getBonusNum()); } + + preMaxNum = thisMaxNum; } vo.setLevel(level); + vo.setLevelName(levelName); vo.setRewardNum(rewardNum); vo.setBonusRewardNum(bonusRewardNum); vo.setTotalRewardNum(rewardNum.add(bonusRewardNum)); diff --git a/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/controller/GuildMemberWeekLevelRewardAdminController.java b/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/controller/GuildMemberWeekLevelRewardAdminController.java index 1aa0e375b..742713a92 100644 --- a/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/controller/GuildMemberWeekLevelRewardAdminController.java +++ b/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/controller/GuildMemberWeekLevelRewardAdminController.java @@ -39,7 +39,7 @@ public class GuildMemberWeekLevelRewardAdminController { public BusiResult> listDateCycle(){ List voList = new ArrayList<>(); Date now = new Date(); - for (int i = 0; i < 8; i++) { + for (int i = 0; i < 4; i++) { Date date = DateTimeUtil.addDays(now, i * -7); Date monday = DateTimeUtil.getMonday(date, 0, 0, 0); Date sunday = DateTimeUtil.getSunday(date, 23, 59, 59);