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 | 43 ++++++++++++++++++++++++++++++++++---------
1 files changed, 34 insertions(+), 9 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 d8fa0ea..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;
@@ -97,7 +99,10 @@
public List<CompetitionListVo> queryCompetitionList(String cityCode, String content, Integer registerCondition, String heat) throws Exception {
List<CompetitionListVo> competitionListVos = this.baseMapper.queryCompetitionList(cityCode, content, registerCondition, heat);
-
+ for (CompetitionListVo competitionListVo : competitionListVos) {
+ Integer counts = this.baseMapper.counts(competitionListVo.getId());
+ competitionListVo.setHeat(competitionListVo.getHeat()+counts);
+ }
return competitionListVos;
@@ -124,7 +129,6 @@
// 2.0
ArrayList<Map<String,Object>> objects = new ArrayList<>();
if(null != competition.getStoreId()){
-
String storeId = competition.getStoreId();
for (String s : storeId.split(",")) {
HashMap<String, Object> map = new HashMap<>();
@@ -159,10 +163,11 @@
competitionInfo.setRegisterEndTime(sdf.format(competition.getRegisterEndTime()));
competitionInfo.setStartTime(sdf.format(competition.getStartTime()));
+ competitionInfo.setIsReal(competition.getRealName());
competitionInfo.setEndTime(sdf.format(competition.getEndTime()));
competitionInfo.setAge(competition.getStartAge() + "-" + competition.getEndAge());
- competitionInfo.setProvince(competition.getEntryProvince());
- competitionInfo.setCity(competition.getEntryCity());
+ competitionInfo.setProvince(competition.getProvince());
+ competitionInfo.setCity(competition.getCity());
String str = competition.getAddress();
str = str.substring(str.indexOf("省") + 1);
@@ -210,6 +215,7 @@
}
+
/**
* 赛事报名
* @param uid
@@ -222,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){
@@ -233,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){//课程
@@ -247,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,"剩余课时不足,无法完成支付。");
+
}
}
}
@@ -292,7 +301,7 @@
paymentCompetition.setPayOrderNo("");
paymentCompetitionService.updateById(paymentCompetition);
- competition.setApplicantsNumber(competition.getApplicantsNumber() + 1);
+// competition.setApplicantsNumber(competition.getApplicantsNumber() + 1);
this.updateById(competition);
}
if(paymentCompetitionVo.getPayType() == 4){//课程
@@ -304,6 +313,7 @@
paymentDeductionClassHour.setClassHour(competition.getClassPrice());
paymentDeductionClassHour.setCode(code);
paymentDeductionClassHour.setCourseId(paymentCompetitionVo.getCoursePaymentId());
+ paymentDeductionClassHour.setUid(uid);
coursePackagePaymentClient.paymentDeductionClassHour(paymentDeductionClassHour);
}
paymentCompetition = paymentCompetitionService.getById(paymentCompetition.getId());
@@ -549,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