房间日奖励-我的奖励-增加statDate筛选奖励状态
This commit is contained in:
@@ -114,6 +114,7 @@ public class RoomDaySendRankRewardManager {
|
||||
// 2. 计算奖励信息
|
||||
Date todayTime = new Date();
|
||||
Date statTime = Boolean.TRUE.equals(isToday)? todayTime: DateTimeUtil.addDays(todayTime, -1);
|
||||
String recordDate = Boolean.TRUE.equals(isToday)? zdtDate: zdt.minusDays(1L).format(DateTimeUtil.dateFormatter);
|
||||
|
||||
Set<Map<String, Object>> rankList = sendRoomDayRankService.getRank(statTime, roomUid, 0L, -1L, room.getPartitionId());
|
||||
BigDecimal roomSerialValue = rankList.stream().map(entry-> BigDecimal.valueOf((Double)entry.get(RedisZSetEnum.score.name())).setScale(2, RoundingMode.DOWN)).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
@@ -127,7 +128,7 @@ public class RoomDaySendRankRewardManager {
|
||||
vo.setTop10RankList(top10RankVoList);
|
||||
|
||||
// 4. 获取我的排名信息(使用ActivityRankItemVo)
|
||||
RoomDaySendRankRewardHomeVo.RankItemVo myRank = buildMyRank(u, roomUid, rankList, rewardInfoVo, isToday);
|
||||
RoomDaySendRankRewardHomeVo.RankItemVo myRank = buildMyRank(u, roomUid, rankList, rewardInfoVo, isToday, recordDate);
|
||||
vo.setMyRank(myRank);
|
||||
|
||||
return vo;
|
||||
@@ -177,7 +178,7 @@ public class RoomDaySendRankRewardManager {
|
||||
}
|
||||
|
||||
private RoomDaySendRankRewardHomeVo.RankItemVo buildMyRank(Users u, Long roomUid, Set<Map<String, Object>> rankList,
|
||||
RoomDaySendRankRewardHomeVo.RewardInfoVo rewardInfoVo, Boolean isToday) {
|
||||
RoomDaySendRankRewardHomeVo.RewardInfoVo rewardInfoVo, Boolean isToday, String recordDate) {
|
||||
RoomDaySendRankRewardHomeVo.RankItemVo vo = new RoomDaySendRankRewardHomeVo.RankItemVo();
|
||||
vo.setUid(u.getUid());
|
||||
vo.setErbanNo(u.getErbanNo());
|
||||
@@ -219,7 +220,7 @@ public class RoomDaySendRankRewardManager {
|
||||
if (isToday){
|
||||
vo.setOwnerRewardStatus(rewardInfoVo.getOwnerReward()>0L? Constant.StatusV2.invalid: Constant.StatusV2.delete);
|
||||
} else {
|
||||
RoomDaySendRankUserRecord ownerRewardRecord = userRecordService.getUserRecordByType(roomUid, u.getPartitionId(), u.getUid(), Constant.status.delete);
|
||||
RoomDaySendRankUserRecord ownerRewardRecord = userRecordService.getUserRecordByType(roomUid, u.getPartitionId(), u.getUid(), recordDate, Constant.status.delete);
|
||||
vo.setOwnerRewardStatus(null == ownerRewardRecord? Constant.StatusV2.delete: ownerRewardRecord.getUserReceiveReward() > 0L ? Constant.status.invalid: Constant.status.valid);
|
||||
}
|
||||
}
|
||||
@@ -239,7 +240,7 @@ public class RoomDaySendRankRewardManager {
|
||||
if (isToday){
|
||||
vo.setMyRewardStatus(myReward > 0L? Constant.StatusV2.invalid: Constant.StatusV2.delete);
|
||||
} else {
|
||||
RoomDaySendRankUserRecord myRewardRecord = userRecordService.getUserRecordByType(roomUid, u.getPartitionId(), u.getUid(), Constant.status.valid);
|
||||
RoomDaySendRankUserRecord myRewardRecord = userRecordService.getUserRecordByType(roomUid, u.getPartitionId(), u.getUid(), recordDate, Constant.status.valid);
|
||||
vo.setMyRewardStatus(null == myRewardRecord? Constant.StatusV2.delete: myRewardRecord.getUserReceiveReward() > 0L ? Constant.status.invalid: Constant.status.valid);
|
||||
}
|
||||
}
|
||||
|
@@ -8,10 +8,11 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class RoomDaySendRankUserRecordService extends ServiceImpl<RoomDaySendRankUserRecordMapper, RoomDaySendRankUserRecord> {
|
||||
|
||||
public RoomDaySendRankUserRecord getUserRecordByType(Long roomUid, Integer partitionId, Long uid, Byte type){
|
||||
public RoomDaySendRankUserRecord getUserRecordByType(Long roomUid, Integer partitionId, Long uid, String recordDate, Byte type){
|
||||
return lambdaQuery().eq(RoomDaySendRankUserRecord::getRoomUid, roomUid)
|
||||
.eq(RoomDaySendRankUserRecord::getPartitionId, partitionId)
|
||||
.eq(RoomDaySendRankUserRecord::getUid, uid)
|
||||
.eq(RoomDaySendRankUserRecord::getStatDate, recordDate)
|
||||
.eq(RoomDaySendRankUserRecord::getType, type)
|
||||
.one();
|
||||
}
|
||||
|
Reference in New Issue
Block a user