游戏薪资返回默认天数数据fixed
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
package com.accompany.business.constant.guildgame;
|
||||
|
||||
public class GuildGameConstant {
|
||||
|
||||
public interface ReceiveStatus {
|
||||
byte HAS_RECEIVE = 0;
|
||||
byte RECEIVED = 1;
|
||||
byte EXPIRE = 2;
|
||||
byte RECEIVE_LIMIT = 4;//当天不可领取/不可领取
|
||||
}
|
||||
}
|
@@ -2,6 +2,7 @@ package com.accompany.business.service.guildgame;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.accompany.business.constant.guildgame.GameUsdOperateTypeEnum;
|
||||
import com.accompany.business.constant.guildgame.GuildGameConstant;
|
||||
import com.accompany.business.model.UserPurse;
|
||||
import com.accompany.business.model.guild.Guild;
|
||||
import com.accompany.business.model.guild.GuildMember;
|
||||
@@ -108,7 +109,7 @@ public class GameUsdService {
|
||||
guildGameDayVo.setDayDetailList(this.getGameDayDetailList(guildMember.getId(), monthDate, partitionId, nowZoneDateTime));
|
||||
|
||||
guildGameDayVo.setReceivedSalary(guildGameDayVo.getDayDetailList().stream()
|
||||
.filter(x -> x.getReceiveStatus() == 1)
|
||||
.filter(x -> x.getReceiveStatus() == GuildGameConstant.ReceiveStatus.RECEIVED)
|
||||
.map(GuildGameDayDetailVo::getDaySalary)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||
guildGameDayVo.setTotalPlayGameNum(guildGameDayVo.getDayDetailList().stream()
|
||||
@@ -129,19 +130,25 @@ public class GameUsdService {
|
||||
ZonedDateTime thirtyDaysAgoInZone = nowZoneDateTime.minusDays(30);
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
guildGameMonthList.forEach(gameDiamondStatDay -> {
|
||||
BigDecimal baseSalary = salaryMap.headMap(gameDiamondStatDay.getPlayGameNum(), true).lastEntry().getValue().getBaseSalary();
|
||||
GuildGameDayDetailVo guildGameDayDetailVo = GuildGameDayDetailVo.builder()
|
||||
.statDate(gameDiamondStatDay.getStatDate())
|
||||
.playGameNum(gameDiamondStatDay.getPlayGameNum())
|
||||
.daySalary(salaryMap.headMap(gameDiamondStatDay.getPlayGameNum(), true).lastEntry().getValue().getBaseSalary())
|
||||
.daySalary(baseSalary)
|
||||
.build();
|
||||
|
||||
LocalDate localDate = LocalDate.parse(gameDiamondStatDay.getStatDate(), formatter);
|
||||
ZonedDateTime statTimeInZone = localDate.atStartOfDay(ZoneId.of(partitionEnum.getZoneId()));
|
||||
boolean expire = statTimeInZone.isBefore(thirtyDaysAgoInZone);
|
||||
|
||||
if (nowZoneDateTime.format(DateTimeUtil.dateFormatter).equalsIgnoreCase(gameDiamondStatDay.getStatDate())) {
|
||||
guildGameDayDetailVo.setReceiveStatus((byte) 4);
|
||||
guildGameDayDetailVo.setReceiveStatus(GuildGameConstant.ReceiveStatus.RECEIVE_LIMIT);
|
||||
} else if (expire) {
|
||||
guildGameDayDetailVo.setReceiveStatus(GuildGameConstant.ReceiveStatus.EXPIRE);
|
||||
} else if (baseSalary.equals(BigDecimal.ZERO)) {
|
||||
guildGameDayDetailVo.setReceiveStatus(GuildGameConstant.ReceiveStatus.RECEIVE_LIMIT);
|
||||
} else {
|
||||
guildGameDayDetailVo.setReceiveStatus(expire ? 2 : gameDiamondStatDay.getReceiveStatus());
|
||||
guildGameDayDetailVo.setReceiveStatus(gameDiamondStatDay.getReceiveStatus());
|
||||
}
|
||||
realMap.put(gameDiamondStatDay.getStatDate(), guildGameDayDetailVo);
|
||||
});
|
||||
@@ -159,7 +166,7 @@ public class GameUsdService {
|
||||
.statDate(date)
|
||||
.playGameNum(0)
|
||||
.daySalary(BigDecimal.ZERO)
|
||||
.receiveStatus((byte) 0)
|
||||
.receiveStatus(GuildGameConstant.ReceiveStatus.RECEIVE_LIMIT)
|
||||
.build());
|
||||
resultList.add(guildGameDayDetailVo);
|
||||
monthEnd = DateUtil.offsetDay(monthEnd, -1);
|
||||
|
Reference in New Issue
Block a user