日任务房间日流水优化代码
This commit is contained in:
@@ -3,7 +3,6 @@ package com.accompany.business.service.dailytask.handler;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.accompany.business.constant.dailytask.DailyTaskTypeEnum;
|
||||
import com.accompany.business.model.room.RoomDayDiamondReward;
|
||||
import com.accompany.business.model.room.RoomDayDiamondRewardRecvRecord;
|
||||
import com.accompany.business.service.dailytask.AbstractDailyTaskHandler;
|
||||
import com.accompany.business.service.dailytask.annotation.DailyTaskHandlerType;
|
||||
import com.accompany.business.service.room.*;
|
||||
@@ -17,7 +16,6 @@ import org.springframework.stereotype.Component;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
|
||||
@Component
|
||||
@@ -82,7 +80,7 @@ public class RoomDayDiamondHandler extends AbstractDailyTaskHandler {
|
||||
}
|
||||
List<DailyTaskRoomDiamondDetailVo> rewardList = new ArrayList<>();
|
||||
dailyTaskRoomDiamondVo.setLevelVos(rewardList);
|
||||
Map<String, RoomDayDiamondRewardRecvRecord> levelMap = roomDayDiamondRewardRecvRecordService.getLevelMap(partitionId, uid, dayDate);
|
||||
Long receiveCount = roomDayDiamondRewardRecvRecordService.selectCount(partitionId, uid, dayDate);
|
||||
Boolean domainSendCheck = roomDayDiamondRewardRecordService.checkExist(partitionId, uid, dayDate);
|
||||
int size = roomDayDiamondRewards.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
@@ -102,13 +100,16 @@ public class RoomDayDiamondHandler extends AbstractDailyTaskHandler {
|
||||
? tmpTotalGoldNum.compareTo(length)>=0 ? length : tmpTotalGoldNum
|
||||
: BigDecimal.ZERO;
|
||||
detailVo.setProcessNum(processNum);
|
||||
Boolean received = !levelMap.isEmpty() || domainSendCheck;
|
||||
if (received) {
|
||||
|
||||
Boolean received = receiveCount > 0 || domainSendCheck;
|
||||
boolean isProcessCompleted = processNum.compareTo(length) == 0;
|
||||
|
||||
if (isProcessCompleted && received) {
|
||||
detailVo.setStatus(ReceiveStatus.RECEIVED);
|
||||
dailyTaskRoomDiamondVo.setStatus(ReceiveStatus.RECEIVED);
|
||||
} else if (processNum.compareTo(length) == 0 && DateType.TODAY == dateType) {
|
||||
} else if (isProcessCompleted && DateType.TODAY == dateType) {
|
||||
detailVo.setStatus(ReceiveStatus.RECEIVE_YESTERDAY);
|
||||
} else if (processNum.compareTo(length) == 0 && DateType.YESTERDAY == dateType) {
|
||||
} else if (isProcessCompleted && DateType.YESTERDAY == dateType) {
|
||||
detailVo.setStatus(ReceiveStatus.AVAILABLE);
|
||||
dailyTaskRoomDiamondVo.setStatus(ReceiveStatus.AVAILABLE);
|
||||
} else {
|
||||
|
@@ -133,6 +133,14 @@ public class RoomDayDiamondRewardRecvRecordService extends ServiceImpl<RoomDayDi
|
||||
return roomDayDiamondRewardRecvRecords.stream().collect(Collectors.toMap(RoomDayDiamondRewardRecvRecord::getLevel, x -> x));
|
||||
}
|
||||
|
||||
public Long selectCount(Integer partitionId, Long roomUid, String statDate) {
|
||||
LambdaQueryWrapper<RoomDayDiamondRewardRecvRecord> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(RoomDayDiamondRewardRecvRecord::getPartitionId, partitionId)
|
||||
.eq(RoomDayDiamondRewardRecvRecord::getRoomUid, roomUid)
|
||||
.eq(RoomDayDiamondRewardRecvRecord::getStatDate, statDate);
|
||||
return baseMapper.selectCount(queryWrapper);
|
||||
}
|
||||
|
||||
public Map<String, RoomDayDiamondRewardRecvRecord> getUniqueKeyMap(Integer partitionId, String startDate, String endDate, List<Long> roomUids) {
|
||||
List<RoomDayDiamondRewardRecvRecord> uniqueKeyList = baseMapper.getUniqueKeyList(partitionId, startDate, endDate, roomUids);
|
||||
if (CollectionUtils.isEmpty(uniqueKeyList)) {
|
||||
|
Reference in New Issue
Block a user