From 18b58aaf9bd99cadd0e7f80fe5d80586f2f4831a Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期五, 24 十一月 2023 18:32:43 +0800 Subject: [PATCH] 11.24 --- cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java | 32 ++++++++++++++++++++++++++++++-- 1 files changed, 30 insertions(+), 2 deletions(-) diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java index ccf0e10..e47ac6b 100644 --- a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java +++ b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java @@ -31,6 +31,7 @@ import com.dsh.competition.service.IPaymentCompetitionService; import com.dsh.competition.service.UserCompetitionService; import com.dsh.competition.util.*; +import org.checkerframework.checker.units.qual.A; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -227,7 +228,20 @@ AppUser appUser = appUserClient.queryAppUser(uid); String[] split = paymentCompetitionVo.getIds().split(";"); Competition competition = this.getById(paymentCompetitionVo.getId()); - int competitionId = userCompetitionService.count(new QueryWrapper<UserCompetition>().eq("competitionId", paymentCompetitionVo.getId())); + + List<PaymentCompetition> list = paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>().eq("competitionId", paymentCompetitionVo.getId()).ne("payStatus", 3)); + List<Long> pays = new ArrayList<>(); + for (PaymentCompetition paymentCompetition : list) { + pays.add(paymentCompetition.getId()); + } + + int competitionId = 0; + if (!pays.isEmpty()) { + competitionId = userCompetitionService.count(new QueryWrapper<UserCompetition>().in("paymentCompetitionId", pays)); + } + + +// int competitionId = userCompetitionService.count(new QueryWrapper<UserCompetition>().eq("competitionId", paymentCompetitionVo.getId())); if ((competitionId+split.length)>competition.getApplicantsNumber()){ return ResultUtil.error("报名人数超过最大限制"); } @@ -557,11 +571,25 @@ /** * 定时任务修改赛事状态 */ + @Override public void taskSetStatus() { this.baseMapper.taskSetStatusStart(); this.baseMapper.taskSetStatusEnd(); - this.baseMapper.deleteTenMinutes(); + + Date currentTime = new Date(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(currentTime); + calendar.add(Calendar.MINUTE, -10); + Date tenMinutesAgo = calendar.getTime(); + List<PaymentCompetition> payStatus = paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>().eq("payStatus", 1).le("insertTime", tenMinutesAgo)); + List<Long> pays = new ArrayList<>(); + for (PaymentCompetition status : payStatus) { + pays.add(status.getId()); + } + if (!pays.isEmpty()) { + this.baseMapper.deleteTenMinutes(pays); + } } @Override -- Gitblit v1.7.1