|
|
|
@@ -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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|