幸运数字-结算-luckyPlayerNum

This commit is contained in:
khalil
2025-05-09 17:00:46 +08:00
parent 90d46ad2a4
commit 9657f71c27
4 changed files with 23 additions and 16 deletions

View File

@@ -13,6 +13,7 @@ public class LuckyNumberActRound {
private Integer playerNum;
private BigDecimal jackpot;
private Integer luckyNumber;
private Integer luckyPlayerNum;
private String endTime;
private Date createTime;
private Date updateTime;

View File

@@ -24,11 +24,14 @@ public class LuckyNumberActRoundVo {
private Byte status;
@ApiModelProperty(value = "倒计时秒数")
private Long countDownSecond;
@ApiModelProperty(value = "中奖号码")
private Integer luckyNumber;
@ApiModelProperty(value = "投入")
private BigDecimal price;
@ApiModelProperty(value = "当天jackpot")
private BigDecimal jackpot;
@ApiModelProperty(value = "中奖号码")
private Integer luckyNumber;
@ApiModelProperty(value = "中奖玩家数量")
private Integer luckyPlayerNum;
}

View File

@@ -59,13 +59,15 @@ public class LuckyNumberActRoundService extends ServiceImpl<LuckyNumberActRoundM
.collect(Collectors.toMap(LuckyNumberActRound::getDate, v -> v));
}
public boolean saveLuckyNumber(String date, Integer partitionId, int luckyNumber, String endTime) {
public boolean saveLuckyNumber(String date, Integer partitionId, int luckyNumber, int luckyPlayerNum, String endTime) {
return update(Wrappers.<LuckyNumberActRound>lambdaUpdate()
.set(LuckyNumberActRound::getLuckyNumber, luckyNumber)
.set(LuckyNumberActRound::getLuckyPlayerNum, luckyPlayerNum)
.set(LuckyNumberActRound::getEndTime, endTime)
.set(LuckyNumberActRound::getUpdateTime, new Date())
.eq(LuckyNumberActRound::getDate, date)
.eq(LuckyNumberActRound::getPartitionId, partitionId)
.isNull(LuckyNumberActRound::getLuckyNumber));
.isNull(LuckyNumberActRound::getLuckyNumber)
.isNull(LuckyNumberActRound::getLuckyPlayerNum));
}
}

View File

@@ -87,6 +87,7 @@ public class LuckyNumberActService {
vo.setNumberList(playerInputNumberList);
vo.setPlayerNum(round.getPlayerNum());
vo.setLuckyNumber(round.getLuckyNumber());
vo.setLuckyPlayerNum(round.getLuckyPlayerNum());
vo.setJackpot(round.getJackpot());
return vo;
}
@@ -270,18 +271,6 @@ public class LuckyNumberActService {
int luckyNumber = RandomUtil.randomByRange(1, 99);
log.info("[luckyNumber] luckyNumber {} date {} partitionId {}", luckyNumber, date, partitionId);
String endTime = LocalDateTime.of(LocalDate.parse(date, DateTimeUtil.dateFormatter), config.getRoundEndTime())
.atZone(ZoneId.of(partitionEnum.getZoneId())).format(DateTimeUtil.zoneDatetimeFormatter);
if (!roundService.saveLuckyNumber(date, partitionId, luckyNumber, endTime)){
log.error("[luckyNumber] saveLuckyNumber failure !!! date {} partitionId {} luckyNumber {}", luckyNumber, date, partitionId);
throw new ServiceException(BusiStatus.SERVERBUSY);
}
if (BigDecimal.ZERO.compareTo(round.getJackpot()) >= 0){
log.info("[luckyNumber] non input in round date {} partitionId {}", date, partitionId);
return;
}
List<LuckyNumberActInputRecord> inputRecordList = playerRecordService.list(Wrappers.<LuckyNumberActInputRecord>lambdaQuery()
.eq(LuckyNumberActInputRecord::getDate, date)
.eq(LuckyNumberActInputRecord::getPartitionId, partitionId)
@@ -300,6 +289,18 @@ public class LuckyNumberActService {
}
}
String endTime = LocalDateTime.of(LocalDate.parse(date, DateTimeUtil.dateFormatter), config.getRoundEndTime())
.atZone(ZoneId.of(partitionEnum.getZoneId())).format(DateTimeUtil.zoneDatetimeFormatter);
if (!roundService.saveLuckyNumber(date, partitionId, luckyNumber, luckyerMap.size(), endTime)){
log.error("[luckyNumber] saveLuckyNumber failure !!! date {} partitionId {} luckyNumber {}", luckyNumber, date, partitionId);
throw new ServiceException(BusiStatus.SERVERBUSY);
}
if (BigDecimal.ZERO.compareTo(round.getJackpot()) >= 0){
log.info("[luckyNumber] non input in round date {} partitionId {}", date, partitionId);
return;
}
//修改不幸运儿状态
unluckyUidSet.removeAll(luckyerMap.keySet());
if (!CollectionUtils.isEmpty(unluckyUidSet)){