房间贡献,修改本周贡献接口
This commit is contained in:
parent
cefa78bdea
commit
8313c3536f
@ -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<RoomContributionActivityCount> activityCounts = roomContributionActivityCountService
|
||||
.listRoomContribution(cmd.getRoomId(), cmd.requireReqSysOriginEnum());
|
||||
RoomContributionActivityCount activityCount = roomContributionActivityCountService.getThisWeekData(cmd.getRoomId());
|
||||
|
||||
ImmutablePair<String, BigDecimal> 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,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user