日任务房间日流水改版
This commit is contained in:
@@ -18,6 +18,7 @@ import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
|
||||
@Component
|
||||
@DailyTaskHandlerType(DailyTaskTypeEnum.ROOM_DAY_DIAMOND)
|
||||
@@ -72,12 +73,18 @@ public class RoomDayDiamondHandler extends AbstractDailyTaskHandler {
|
||||
}
|
||||
BigDecimal totalGoldNum = roomDayDiamondNumService.getGoldNum(partitionId, uid, dayDate);
|
||||
dailyTaskRoomDiamondVo.setTotalGoldNum(totalGoldNum);
|
||||
|
||||
TreeMap<BigDecimal, RoomDayDiamondReward> treeMap = roomDayDiamondRewardService.calRewardTreeMapByPartitionId(roomDayDiamondRewards);
|
||||
RoomDayDiamondReward bigDiamondReward = roomDayDiamondRewardService.calGoldRewardEntity(treeMap, totalGoldNum);
|
||||
if (bigDiamondReward != null) {
|
||||
dailyTaskRoomDiamondVo.setMaxLevel(bigDiamondReward.getLevel());
|
||||
dailyTaskRoomDiamondVo.setTotalRewardNum(bigDiamondReward.getRewardGold());
|
||||
}
|
||||
List<DailyTaskRoomDiamondDetailVo> rewardList = new ArrayList<>();
|
||||
dailyTaskRoomDiamondVo.setLevelVos(rewardList);
|
||||
Map<String, RoomDayDiamondRewardRecvRecord> levelMap = roomDayDiamondRewardRecvRecordService.getLevelMap(partitionId, uid, dayDate);
|
||||
Boolean domainSendCheck = roomDayDiamondRewardRecordService.checkExist(partitionId, uid, dayDate);
|
||||
int size = roomDayDiamondRewards.size();
|
||||
RoomDayDiamondReward bigDiamondReward = null;
|
||||
for (int i = 0; i < size; i++) {
|
||||
RoomDayDiamondReward diamondReward = roomDayDiamondRewards.get(i);
|
||||
DailyTaskRoomDiamondDetailVo detailVo = new DailyTaskRoomDiamondDetailVo();
|
||||
@@ -95,27 +102,20 @@ public class RoomDayDiamondHandler extends AbstractDailyTaskHandler {
|
||||
? tmpTotalGoldNum.compareTo(length)>=0 ? length : tmpTotalGoldNum
|
||||
: BigDecimal.ZERO;
|
||||
detailVo.setProcessNum(processNum);
|
||||
Boolean received = !levelMap.isEmpty() && domainSendCheck;
|
||||
Boolean received = !levelMap.isEmpty() || domainSendCheck;
|
||||
if (received) {
|
||||
detailVo.setStatus(ReceiveStatus.RECEIVED);
|
||||
dailyTaskRoomDiamondVo.setStatus(ReceiveStatus.RECEIVED);
|
||||
bigDiamondReward = diamondReward;
|
||||
} else if (processNum.compareTo(length) == 0 && DateType.TODAY == dateType) {
|
||||
detailVo.setStatus(ReceiveStatus.RECEIVE_YESTERDAY);
|
||||
bigDiamondReward = diamondReward;
|
||||
} else if (processNum.compareTo(length) == 0 && DateType.YESTERDAY == dateType) {
|
||||
detailVo.setStatus(ReceiveStatus.AVAILABLE);
|
||||
dailyTaskRoomDiamondVo.setStatus(ReceiveStatus.AVAILABLE);
|
||||
bigDiamondReward = diamondReward;
|
||||
} else {
|
||||
detailVo.setStatus(ReceiveStatus.NOT_RECEIVE);
|
||||
}
|
||||
rewardList.add(detailVo);
|
||||
}
|
||||
if (DateType.YESTERDAY == dateType && bigDiamondReward != null) {
|
||||
dailyTaskRoomDiamondVo.setMaxLevel(bigDiamondReward.getLevel());
|
||||
dailyTaskRoomDiamondVo.setTotalRewardNum(bigDiamondReward.getRewardGold());
|
||||
}
|
||||
return dailyTaskRoomDiamondVo;
|
||||
}
|
||||
|
||||
|
@@ -17,6 +17,8 @@ public interface RoomDayDiamondRewardService extends IService<RoomDayDiamondRewa
|
||||
|
||||
TreeMap<BigDecimal, RoomDayDiamondReward> getRewardTreeMapByPartitionId(Integer partitionId);
|
||||
|
||||
TreeMap<BigDecimal, RoomDayDiamondReward> calRewardTreeMapByPartitionId(List<RoomDayDiamondReward> roomDayDiamondRewards);
|
||||
|
||||
/**
|
||||
* 根据钻石流水获取奖励
|
||||
* @param treeMap
|
||||
|
@@ -25,8 +25,13 @@ public class RoomDayDiamondRewardServiceImpl extends ServiceImpl<RoomDayDiamondR
|
||||
|
||||
@Override
|
||||
public TreeMap<BigDecimal, RoomDayDiamondReward> getRewardTreeMapByPartitionId(Integer partitionId) {
|
||||
TreeMap<BigDecimal, RoomDayDiamondReward> resultMap = new TreeMap<>();
|
||||
List<RoomDayDiamondReward> roomDayDiamondRewards = this.listByPartitionIdAsc(partitionId);
|
||||
return this.calRewardTreeMapByPartitionId(roomDayDiamondRewards);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TreeMap<BigDecimal, RoomDayDiamondReward> calRewardTreeMapByPartitionId(List<RoomDayDiamondReward> roomDayDiamondRewards) {
|
||||
TreeMap<BigDecimal, RoomDayDiamondReward> resultMap = new TreeMap<>();
|
||||
if (CollectionUtils.isEmpty(roomDayDiamondRewards)) {
|
||||
return resultMap;
|
||||
}
|
||||
|
Reference in New Issue
Block a user