From 8e524f6e570fca66f670a8072edefc6ca2d4e2f9 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期三, 01 十一月 2023 08:55:02 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai

---
 cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java |   73 ++++++++++++++++++++++++++++++------
 1 files changed, 60 insertions(+), 13 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..ff4b14f 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;
@@ -201,6 +204,38 @@
     }
 
 
+    @PostMapping("/base/competition/getCompetitionsDetails1")
+    public List<PurchaseRecordVo> getStuSourseList1(@RequestBody GetStuSourseList sourseList){
+
+        List<PurchaseRecordVo> recordVos = new ArrayList<>();
+
+        ArrayList<Integer> integers = new ArrayList<>();
+        integers.add(4);
+        List<PaymentCompetition> list = paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>()
+                .in("payType",integers )
+                .eq("appUserId", sourseList.getAppUserId())
+                .eq("state",1));
+        if (list.size() > 0){
+            List<Long> comIds = list.stream().map(PaymentCompetition::getId).collect(Collectors.toList());
+            List<UserCompetition> userCompetitions = ucttService.list(new QueryWrapper<UserCompetition>()
+                    .between("insertTime", sourseList.getStartTime(),sourseList.getEndTime() )
+                    .eq("appUserId", sourseList.getAppUserId())
+                    .in("paymentCompetitionId",comIds ));
+            if (userCompetitions.size() > 0){
+                userCompetitions.forEach(coms ->{
+                    PurchaseRecordVo recordVo = new PurchaseRecordVo();
+                    recordVo.setPurchaseType("报名赛事");
+                    recordVo.setPurchaseTime(dateFormat.format(coms.getInsertTime()));
+                    PaymentCompetition paymentCompetition = paymentCompetitionService.getById(coms.getPaymentCompetitionId());
+                    recordVo.setPurchaseAmount("-"+paymentCompetition.getAmount());
+                    recordVos.add(recordVo);
+                });
+            }
+        }
+
+        return recordVos;
+    }
+
 
 
 
@@ -254,6 +289,9 @@
 
     @Autowired
     private CompetitionService competitionService;
+    @Resource
+    private  CoursePackagePaymentClient coursePackagePaymentClient;
+
 
     @ResponseBody
     @PostMapping("/api/competition/paymentCompetition")
@@ -262,30 +300,39 @@
             @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
-
+            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