From 986989a2b7a49353598fda317e3bdaed59f09abc Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期二, 31 十月 2023 16:19:55 +0800 Subject: [PATCH] 10.31 --- cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 58 insertions(+), 1 deletions(-) diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java index d1b5a09..a2db34d 100644 --- a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java +++ b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java @@ -11,6 +11,7 @@ import com.dsh.competition.entity.UserCompetition; import com.dsh.competition.feignclient.account.AppUserClient; import com.dsh.competition.feignclient.account.model.AppUser; +import com.dsh.competition.feignclient.course.CoursePackagePaymentClient; import com.dsh.competition.feignclient.model.*; import com.dsh.competition.model.*; import com.dsh.competition.service.CompetitionService; @@ -25,9 +26,11 @@ import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import lombok.Synchronized; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; @@ -79,6 +82,13 @@ @ResponseBody @RequestMapping("/base/competition/listAllPayment") public List<PaymentCompetition> listAllPayment(@RequestBody CompetitionQuery query){ + Integer operatorId1 = query.getOperatorId(); + if (operatorId1!=null){ + // 赛事集合id + List<Integer> operatorId = cttService.list(new QueryWrapper<Competition>() + .eq("operatorId", operatorId1)).stream().map(Competition::getId).collect(Collectors.toList()); + query.setUserIds(operatorId); + } List<PaymentCompetition> paymentCompetitions = paymentCompetitionService.listAll(query); List<PaymentCompetition> result = new ArrayList<>(); if (query.getOperatorId()!=null){ @@ -244,6 +254,13 @@ + + @Autowired + private CompetitionService competitionService; + @Resource + private CoursePackagePaymentClient coursePackagePaymentClient; + + @ResponseBody @PostMapping("/api/competition/paymentCompetition") @ApiOperation(value = "赛事报名", tags = {"APP-赛事活动列表"}) @@ -251,12 +268,52 @@ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil paymentCompetition(PaymentCompetitionVo paymentCompetitionVo){ + + public synchronized ResultUtil paymentCompetition(PaymentCompetitionVo paymentCompetitionVo){ try { + + + Competition byId = competitionService.getById(paymentCompetitionVo.getId()); + Date date = byId.getEndTime(); // Assuming you have a Date object + // Check if the date is past the current time + boolean isPast = date.after(new Date()); + if (!isPast) { + return new ResultUtil(0,"已超过截至报名时间"); + } Integer uid = tokenUtil.getUserIdFormRedis(); if(null == uid){ return ResultUtil.tokenErr(); } + + + + + if (byId.getRegisterCondition()==3){ + Integer counts = coursePackagePaymentClient.isHave(uid); + if (counts==0){ + return new ResultUtil(0,"当前赛事仅限已购课学员报名"); + } + } + + + if (byId.getRegisterCondition()==2){ + AppUser appUser = appUserClient.queryAppUser(uid); + if (appUser.getIsVip()==0){ + return new ResultUtil(0,"当前赛事仅限年度会员报名"); + }else { + Date vipEndTime = appUser.getVipEndTime(); + Date currentTime = new Date(); // Current time + + if (vipEndTime.before(currentTime)) { + return new ResultUtil(0,"您的年度会员已过期,请续费"); + } + + } + + + } + + return cttService.paymentCompetition(uid, paymentCompetitionVo); }catch (Exception e){ e.printStackTrace(); -- Gitblit v1.7.1