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 |   42 +++++++++++++++++++++++++++++++++++-------
 1 files changed, 35 insertions(+), 7 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 62ddfb2..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;
@@ -254,6 +257,9 @@
 
     @Autowired
     private CompetitionService competitionService;
+    @Resource
+    private  CoursePackagePaymentClient coursePackagePaymentClient;
+
 
     @ResponseBody
     @PostMapping("/api/competition/paymentCompetition")
@@ -262,23 +268,18 @@
             @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();
@@ -286,6 +287,33 @@
 
 
 
+
+            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