日任务房间日流水返回两个今天结构

This commit is contained in:
2025-09-10 17:26:38 +08:00
parent e520926097
commit c947bb1256
4 changed files with 31 additions and 14 deletions

View File

@@ -17,6 +17,6 @@ public class DailyTaskRoomDiamondDetailVo {
private BigDecimal preMaxNum; private BigDecimal preMaxNum;
@ApiModelProperty("奖励") @ApiModelProperty("奖励")
private BigDecimal rewardNum; private BigDecimal rewardNum;
@ApiModelProperty("状态0不可领取1-可领取2-已经领取") @ApiModelProperty("状态0不可领取1-可领取2-已经领取3-明日领取")
private Byte status; private Byte status;
} }

View File

@@ -1,5 +1,6 @@
package com.accompany.business.vo.dailytask; package com.accompany.business.vo.dailytask;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
@@ -7,9 +8,12 @@ import java.util.List;
@Data @Data
public class DailyTaskRoomDiamondVo { public class DailyTaskRoomDiamondVo {
private Integer dateType; // 1-今天2-昨日
private Long roomUid; private Long roomUid;
private String statDate; private String statDate;
private String avatar; private String avatar;
private BigDecimal totalGoldNum; private BigDecimal totalGoldNum;
@ApiModelProperty("状态0不可领取1-可领取2-已经领取")
private Byte status;
private List<DailyTaskRoomDiamondDetailVo> levelVos; private List<DailyTaskRoomDiamondDetailVo> levelVos;
} }

View File

@@ -36,7 +36,7 @@ public class DailyTaskVo {
private List<DailyTaskReward> configRewards; private List<DailyTaskReward> configRewards;
private String todayDate; private String todayDate;
@ApiModelProperty("房间流水奖励") @ApiModelProperty("房间流水奖励")
private DailyTaskRoomDiamondVo diamondVo; private List<DailyTaskRoomDiamondVo> diamondVo;
@ApiModelProperty("公会周奖励") @ApiModelProperty("公会周奖励")
private List<GuildMemberWeekLevelRewardVo> guildWeekRewardItems; private List<GuildMemberWeekLevelRewardVo> guildWeekRewardItems;
@ApiModelProperty("公会长薪资") @ApiModelProperty("公会长薪资")

View File

@@ -1,5 +1,6 @@
package com.accompany.business.service.dailytask.handler; package com.accompany.business.service.dailytask.handler;
import cn.hutool.core.date.DateUtil;
import com.accompany.business.constant.dailytask.DailyTaskTypeEnum; import com.accompany.business.constant.dailytask.DailyTaskTypeEnum;
import com.accompany.business.model.room.RoomDayDiamondReward; import com.accompany.business.model.room.RoomDayDiamondReward;
import com.accompany.business.model.room.RoomDayDiamondRewardRecvRecord; import com.accompany.business.model.room.RoomDayDiamondRewardRecvRecord;
@@ -43,27 +44,39 @@ public class RoomDayDiamondHandler extends AbstractDailyTaskHandler {
DailyTaskVo dailyTaskVo = new DailyTaskVo(); DailyTaskVo dailyTaskVo = new DailyTaskVo();
Integer partitionId = context.getPartitionId(); Integer partitionId = context.getPartitionId();
Long uid = context.getUid(); Long uid = context.getUid();
DailyTaskRoomDiamondVo dailyTaskRoomDiamondVo = new DailyTaskRoomDiamondVo(); List<DailyTaskRoomDiamondVo> resultList = new ArrayList<>();
dailyTaskVo.setDiamondVo(dailyTaskRoomDiamondVo); dailyTaskVo.setDiamondVo(resultList);
dailyTaskRoomDiamondVo.setRoomUid(uid); List<RoomDayDiamondReward> roomDayDiamondRewards = roomDayDiamondRewardService.listByPartitionIdAsc(partitionId);
String todayDate = context.getTodayDate(); if (CollectionUtils.isEmpty(roomDayDiamondRewards)) {
dailyTaskRoomDiamondVo.setStatDate(todayDate); return null;
}
Room roomByUid = roomService.getRoomByUid(uid); Room roomByUid = roomService.getRoomByUid(uid);
String todayDate = context.getTodayDate();
resultList.add(buildRoomDiamondVo(1, todayDate, roomDayDiamondRewards, uid, partitionId, roomByUid));
String yesterdayDate = DateUtil.formatDate(DateUtil.offsetDay(DateUtil.parseDate(todayDate), -1));
resultList.add(buildRoomDiamondVo(2, yesterdayDate, roomDayDiamondRewards, uid, partitionId, roomByUid));
return dailyTaskVo;
}
private DailyTaskRoomDiamondVo buildRoomDiamondVo(Integer dateType, String dayDate, List<RoomDayDiamondReward> roomDayDiamondRewards, Long uid, Integer partitionId, Room roomByUid) {
DailyTaskRoomDiamondVo dailyTaskRoomDiamondVo = new DailyTaskRoomDiamondVo();
dailyTaskRoomDiamondVo.setRoomUid(uid);
dailyTaskRoomDiamondVo.setDateType(dateType);
dailyTaskRoomDiamondVo.setStatDate(dayDate);
dailyTaskRoomDiamondVo.setStatus((byte) 3);
if (roomByUid == null) { if (roomByUid == null) {
Users users = usersService.getUsersByUid(uid); Users users = usersService.getUsersByUid(uid);
dailyTaskRoomDiamondVo.setAvatar(users.getAvatar()); dailyTaskRoomDiamondVo.setAvatar(users.getAvatar());
} else { } else {
dailyTaskRoomDiamondVo.setAvatar(roomByUid.getAvatar()); dailyTaskRoomDiamondVo.setAvatar(roomByUid.getAvatar());
} }
BigDecimal totalGoldNum = roomDayDiamondNumService.getGoldNum(partitionId, uid, todayDate); BigDecimal totalGoldNum = roomDayDiamondNumService.getGoldNum(partitionId, uid, dayDate);
dailyTaskRoomDiamondVo.setTotalGoldNum(totalGoldNum); dailyTaskRoomDiamondVo.setTotalGoldNum(totalGoldNum);
List<DailyTaskRoomDiamondDetailVo> rewardList = new ArrayList<>(); List<DailyTaskRoomDiamondDetailVo> rewardList = new ArrayList<>();
dailyTaskRoomDiamondVo.setLevelVos(rewardList); dailyTaskRoomDiamondVo.setLevelVos(rewardList);
List<RoomDayDiamondReward> roomDayDiamondRewards = roomDayDiamondRewardService.listByPartitionIdAsc(partitionId); Map<String, RoomDayDiamondRewardRecvRecord> levelMap = RoomDayDiamondRewardRecvRecordService.getLevelMap(partitionId, uid, dayDate);
if (CollectionUtils.isEmpty(roomDayDiamondRewards)) {
return null;
}
Map<String, RoomDayDiamondRewardRecvRecord> levelMap = RoomDayDiamondRewardRecvRecordService.getLevelMap(partitionId, uid, todayDate);
int size = roomDayDiamondRewards.size(); int size = roomDayDiamondRewards.size();
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {
RoomDayDiamondReward diamondReward = roomDayDiamondRewards.get(i); RoomDayDiamondReward diamondReward = roomDayDiamondRewards.get(i);
@@ -92,7 +105,7 @@ public class RoomDayDiamondHandler extends AbstractDailyTaskHandler {
} }
rewardList.add(detailVo); rewardList.add(detailVo);
} }
return dailyTaskVo; return dailyTaskRoomDiamondVo;
} }
} }