From 9657f71c2705253eb4e1f8666a75718fcafc8957 Mon Sep 17 00:00:00 2001 From: khalil Date: Fri, 9 May 2025 17:00:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B9=B8=E8=BF=90=E6=95=B0=E5=AD=97-=E7=BB=93?= =?UTF-8?q?=E7=AE=97-luckyPlayerNum?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/activity/LuckyNumberActRound.java | 1 + .../vo/activity/LuckyNumberActRoundVo.java | 7 ++++-- .../activity/LuckyNumberActRoundService.java | 6 +++-- .../activity/LuckyNumberActService.java | 25 ++++++++++--------- 4 files changed, 23 insertions(+), 16 deletions(-) diff --git a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/activity/LuckyNumberActRound.java b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/activity/LuckyNumberActRound.java index 1d5c8cc07..7b4d72974 100644 --- a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/activity/LuckyNumberActRound.java +++ b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/activity/LuckyNumberActRound.java @@ -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; diff --git a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/vo/activity/LuckyNumberActRoundVo.java b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/vo/activity/LuckyNumberActRoundVo.java index 54b63d589..bef2e1823 100644 --- a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/vo/activity/LuckyNumberActRoundVo.java +++ b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/vo/activity/LuckyNumberActRoundVo.java @@ -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; + } diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/activity/LuckyNumberActRoundService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/activity/LuckyNumberActRoundService.java index 3c0706aab..75e41f45f 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/activity/LuckyNumberActRoundService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/activity/LuckyNumberActRoundService.java @@ -59,13 +59,15 @@ public class LuckyNumberActRoundService extends ServiceImpl 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.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)); } } diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/activity/LuckyNumberActService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/activity/LuckyNumberActService.java index af5f3e408..00c650be3 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/activity/LuckyNumberActService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/activity/LuckyNumberActService.java @@ -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 inputRecordList = playerRecordService.list(Wrappers.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)){