From c35f907f1ab5c2cd45a55bf757bb2fc17a5bcf1e Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期四, 23 十一月 2023 18:45:54 +0800
Subject: [PATCH] 后台bug修改
---
cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java | 29 +++++++++++++++++++++++++----
1 files changed, 25 insertions(+), 4 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 25847f2..e8a2393 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
@@ -21,6 +21,7 @@
import com.dsh.competition.feignclient.account.model.Student;
import com.dsh.competition.feignclient.course.CoursePackagePaymentClient;
import com.dsh.competition.feignclient.course.model.PaymentDeductionClassHour;
+import com.dsh.competition.feignclient.model.CompetitionUser;
import com.dsh.competition.feignclient.other.StoreClient;
import com.dsh.competition.feignclient.other.model.Store;
import com.dsh.competition.mapper.CompetitionMapper;
@@ -30,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;
@@ -213,6 +215,7 @@
}
+
/**
* 赛事报名
* @param uid
@@ -225,9 +228,10 @@
AppUser appUser = appUserClient.queryAppUser(uid);
String[] split = paymentCompetitionVo.getIds().split(";");
Competition competition = this.getById(paymentCompetitionVo.getId());
- if ((competition.getBaseNumber()+split.length)>competition.getApplicantsNumber()){
- return ResultUtil.error("报名人数超过最大限制");
+ int competitionId = userCompetitionService.count(new QueryWrapper<UserCompetition>().eq("competitionId", paymentCompetitionVo.getId()));
+ if ((competitionId+split.length)>competition.getApplicantsNumber()){
+ return ResultUtil.error("报名人数超过最大限制");
}
BigDecimal money = null;
if(paymentCompetitionVo.getPayType() == 1 || paymentCompetitionVo.getPayType() == 2){
@@ -236,7 +240,8 @@
if(paymentCompetitionVo.getPayType() == 3){//玩湃币
money = new BigDecimal(competition.getPlayPaiCoin()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN);
if(money.compareTo(new BigDecimal(appUser.getPlayPaiCoins())) > 0){
- return ResultUtil.error("报名失败,玩湃币不足,请充值");
+
+ return new ResultUtil(2,"报名失败,玩湃币不足,请充值");
}
}
if(paymentCompetitionVo.getPayType() == 4){//课程
@@ -250,7 +255,8 @@
// 2.0
Integer integer = coursePackagePaymentClient.queryResidueClassHourById(paymentCompetitionVo.getCoursePaymentId());
if(new BigDecimal(integer).compareTo(new BigDecimal(competition.getClassPrice())) < 0){
- return ResultUtil.error( "剩余课时不足,无法完成支付。");
+ return new ResultUtil(3,"剩余课时不足,无法完成支付。");
+
}
}
}
@@ -553,10 +559,25 @@
/**
* 定时任务修改赛事状态
*/
+
@Override
public void taskSetStatus() {
this.baseMapper.taskSetStatusStart();
this.baseMapper.taskSetStatusEnd();
+
+ 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