diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/query/RoomContributionActivityQueryCmdExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/query/RoomContributionActivityQueryCmdExe.java index 1979e44f..eed666ea 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/query/RoomContributionActivityQueryCmdExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/query/RoomContributionActivityQueryCmdExe.java @@ -45,46 +45,23 @@ public class RoomContributionActivityQueryCmdExe { public RoomContributionCountCO execute(AppRoomIdCmd cmd) { Long roomId = roomProfileManagerService.getRoomId(cmd.getReqUserId()); ResponseAssert.notNull(CommonErrorCode.NOT_FOUND_RECORD_INFO, roomId); - // 是否为请求人自己的房间 - boolean isOwn = Objects.equals(roomId, cmd.getRoomId()); - - // 是否为本周一 - boolean isThisMonday = Objects.equals(ZonedDateTimeAsiaRiyadhUtils.getThisMonday(), - ZonedDateTimeAsiaRiyadhUtils.nowDateToInt()); RoomProfile roomProfile = roomProfileManagerService.getProfileById(cmd.getRoomId()); ResponseAssert.notNull(CommonErrorCode.NOT_FOUND_RECORD_INFO, roomProfile); ResponseAssert.notNull(CommonErrorCode.NOT_FOUND_RECORD_INFO, roomProfile.getId()); - // 获得金币可领取比例 - SysRegionAssistProbabilityDTO activityRatio = getAssistRoomContributionActivityRatio( - roomProfile); - // 非本周且没有领取且积分大于最低领取要求的数据集合 - List activityCounts = roomContributionActivityCountService - .listRoomContribution(cmd.getRoomId(), cmd.requireReqSysOriginEnum()); + RoomContributionActivityCount activityCount = roomContributionActivityCountService.getThisWeekData(cmd.getRoomId()); - ImmutablePair thisWeekData = getThisWeekData(cmd, activityRatio.getRatio()); - if (CollectionUtils.isEmpty(activityCounts)) { + if (activityCount == null) { return new RoomContributionCountCO() - .setThisWeekIntegral(thisWeekData.getLeft()) - .setThisWeekAmount(thisWeekData.getRight()) - .setAvailableAmount(BigDecimal.ZERO) - .setIsNotHighProportion(activityRatio.getRatio().compareTo(BigDecimal.valueOf(0.05)) <= 0) - .setIsShowReceiveButton(Boolean.FALSE) - .setImgUrl(activityRatio.getImgUrl()); + .setThisWeekIntegral(NumUtils.formatLong(0L)) + .setThisWeekAmount(BigDecimal.ZERO); } - // 可领取金额(不含本周) - BigDecimal availableAmount = getAvailableAmount(cmd, activityRatio, activityCounts); return new RoomContributionCountCO() - .setThisWeekIntegral(thisWeekData.getLeft()) - .setThisWeekAmount(thisWeekData.getRight()) - .setAvailableAmount(availableAmount) - .setIsNotHighProportion(activityRatio.getRatio().compareTo(BigDecimal.valueOf(0.05)) <= 0) - .setIsShowReceiveButton( - isOwn && isThisMonday && availableAmount.compareTo(BigDecimal.ZERO) > 0) - .setImgUrl(activityRatio.getImgUrl()); + .setThisWeekIntegral(NumUtils.formatBigDecimal(activityCount.getContributionValue())) + .setThisWeekAmount(activityCount.getContributionValue()); } private BigDecimal getAvailableAmount(AppRoomIdCmd cmd,