From bbee9271b06ede8c00f795be690835e28a142d4a Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期三, 01 十一月 2023 17:21:29 +0800
Subject: [PATCH] 10.31.2

---
 cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java |   73 +++++++++++++++++++++++++++++-------
 1 files changed, 58 insertions(+), 15 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 a2db34d..06e7488 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
@@ -75,7 +75,31 @@
     @Autowired
     private AppUserClient appUserClient;
 
+    /**
+     * 根据门店ids 获取对应的赛事 根据赛事支付记录获取用户ids
+     */
+    @ResponseBody
+    @PostMapping("/base/competition/getUserIds")
+    public List<Integer> getUserIds(@RequestBody ListQuery query){
+        List<Competition> list = cttService.list(new QueryWrapper<Competition>());
+        // 赛事id集合
+        List<Integer> comIds = new ArrayList<>();
 
+        for (Integer id : query.getIds()) {
+            for (Competition competition : list) {
+                if (competition.getStoreId().contains(id.toString())){
+                    comIds.add(competition.getId());
+                }
+            }
+        }
+        // 获取到赛事id集合 去重
+        List<Integer> collect = comIds.stream().distinct().collect(Collectors.toList());
+        // 根据赛事id 查询赛事支付记录 获取用户ids
+        List<Integer> competitionId = paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>()
+                .in("competitionId", collect))
+                .stream().map(PaymentCompetition::getAppUserId).collect(Collectors.toList());
+        return competitionId;
+    }
     /**
      * 获取赛事报名记录
      */
@@ -204,6 +228,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;
+    }
+
 
 
 
@@ -271,10 +327,9 @@
 
     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) {
@@ -284,18 +339,12 @@
             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){
@@ -303,17 +352,11 @@
                 }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