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

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;
@ApiModelProperty("奖励")
private BigDecimal rewardNum;
@ApiModelProperty("状态0不可领取1-可领取2-已经领取")
@ApiModelProperty("状态0不可领取1-可领取2-已经领取3-明日领取")
private Byte status;
}

View File

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

View File

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

View File

@@ -1,5 +1,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;
@@ -43,27 +44,39 @@ public class RoomDayDiamondHandler extends AbstractDailyTaskHandler {
DailyTaskVo dailyTaskVo = new DailyTaskVo();
Integer partitionId = context.getPartitionId();
Long uid = context.getUid();
DailyTaskRoomDiamondVo dailyTaskRoomDiamondVo = new DailyTaskRoomDiamondVo();
dailyTaskVo.setDiamondVo(dailyTaskRoomDiamondVo);
dailyTaskRoomDiamondVo.setRoomUid(uid);
String todayDate = context.getTodayDate();
dailyTaskRoomDiamondVo.setStatDate(todayDate);
List<DailyTaskRoomDiamondVo> resultList = new ArrayList<>();
dailyTaskVo.setDiamondVo(resultList);
List<RoomDayDiamondReward> roomDayDiamondRewards = roomDayDiamondRewardService.listByPartitionIdAsc(partitionId);
if (CollectionUtils.isEmpty(roomDayDiamondRewards)) {
return null;
}
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) {
Users users = usersService.getUsersByUid(uid);
dailyTaskRoomDiamondVo.setAvatar(users.getAvatar());
} else {
dailyTaskRoomDiamondVo.setAvatar(roomByUid.getAvatar());
}
BigDecimal totalGoldNum = roomDayDiamondNumService.getGoldNum(partitionId, uid, todayDate);
BigDecimal totalGoldNum = roomDayDiamondNumService.getGoldNum(partitionId, uid, dayDate);
dailyTaskRoomDiamondVo.setTotalGoldNum(totalGoldNum);
List<DailyTaskRoomDiamondDetailVo> rewardList = new ArrayList<>();
dailyTaskRoomDiamondVo.setLevelVos(rewardList);
List<RoomDayDiamondReward> roomDayDiamondRewards = roomDayDiamondRewardService.listByPartitionIdAsc(partitionId);
if (CollectionUtils.isEmpty(roomDayDiamondRewards)) {
return null;
}
Map<String, RoomDayDiamondRewardRecvRecord> levelMap = RoomDayDiamondRewardRecvRecordService.getLevelMap(partitionId, uid, todayDate);
Map<String, RoomDayDiamondRewardRecvRecord> levelMap = RoomDayDiamondRewardRecvRecordService.getLevelMap(partitionId, uid, dayDate);
int size = roomDayDiamondRewards.size();
for (int i = 0; i < size; i++) {
RoomDayDiamondReward diamondReward = roomDayDiamondRewards.get(i);
@@ -92,7 +105,7 @@ public class RoomDayDiamondHandler extends AbstractDailyTaskHandler {
}
rewardList.add(detailVo);
}
return dailyTaskVo;
return dailyTaskRoomDiamondVo;
}
}