From ee9cb0da4a43bcf523ebb157678f64a2895fba1a Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期二, 10 十月 2023 15:30:38 +0800
Subject: [PATCH] 10.10

---
 cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java |  110 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 102 insertions(+), 8 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 f613014..3a10b45 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
@@ -1,6 +1,7 @@
 package com.dsh.competition.controller;
 
 
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -11,9 +12,7 @@
 import com.dsh.competition.feignclient.account.AppUserClient;
 import com.dsh.competition.feignclient.account.model.AppUser;
 import com.dsh.competition.feignclient.model.*;
-import com.dsh.competition.model.CompetitionInfo;
-import com.dsh.competition.model.CompetitionListVo;
-import com.dsh.competition.model.PaymentCompetitionVo;
+import com.dsh.competition.model.*;
 import com.dsh.competition.service.CompetitionService;
 import com.dsh.competition.service.IParticipantService;
 import com.dsh.competition.service.IPaymentCompetitionService;
@@ -32,10 +31,7 @@
 import javax.servlet.http.HttpServletResponse;
 import java.io.PrintWriter;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -74,7 +70,14 @@
     @Autowired
     private AppUserClient appUserClient;
 
-
+    /**
+     * 获取赛事报名记录
+     */
+    @ResponseBody
+    @RequestMapping("/base/competition/listAllPayment")
+    public List<PaymentCompetition> listAllPayment(@RequestBody CompetitionQuery query){
+        return paymentCompetitionService.listAll(query);
+    }
     @ResponseBody
     @PostMapping("/base/competition/getPayedCompetitions")
     public BillingRequestVo getAllCompetitionPayRecord(@RequestBody BillingDataRequestVo requestVo){
@@ -112,6 +115,14 @@
                 .eq("appUserId",appUserId)
                 .eq("payStatus",3));
     }
+
+
+    @PostMapping("/base/competition/queryByCode")
+    public Integer queryByCode(@RequestBody String code){
+
+        return paymentCompetitionService.queryByCode(code);
+    }
+
 
 
 
@@ -218,6 +229,8 @@
             return ResultUtil.runErr();
         }
     }
+
+
     @ResponseBody
     @PostMapping("/api/competition/paymentCompetitionCourseList")
     @ApiOperation(value = "赛事报名--支付可用课时列表", tags = {"APP-赛事活动列表"})
@@ -541,5 +554,86 @@
         }
     }
 
+
+
+    @PostMapping("/base/competition/queryFee")
+    public Double queryFee(@RequestBody QueryDataFee queryDataFee){
+        HashMap<String, Object> map = new HashMap<>();
+        String data = queryDataFee.getData();
+        List<Integer> ids = queryDataFee.getIds();
+        if(ids.size()==0){
+            ids.add(-1);
+        }
+        LambdaQueryWrapper<PaymentCompetition> vipPaymentLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        if(ToolUtil.isNotEmpty(data)){
+            String stime = data.split(" - ")[0]+" 00:00:00";
+            String etime = data.split(" - ")[1]+" 23:59:59";
+            vipPaymentLambdaQueryWrapper.between(PaymentCompetition::getInsertTime,stime,etime);
+        }
+        vipPaymentLambdaQueryWrapper.in(PaymentCompetition::getAppUserId,ids);
+        vipPaymentLambdaQueryWrapper.eq(PaymentCompetition::getPayStatus,2);
+        ArrayList<Integer> objects = new ArrayList<>();
+        objects.add(1);
+        objects.add(2);
+        vipPaymentLambdaQueryWrapper.in(PaymentCompetition::getPayType,objects);
+        List<PaymentCompetition> list = paymentCompetitionService.list(vipPaymentLambdaQueryWrapper);
+        double sum = list.stream().mapToDouble(PaymentCompetition::getAmount).sum();
+        return sum;
+    }
+
+
+
+    @ResponseBody
+    @PostMapping("/base/competition/actPt")
+    public HashMap<String, Object> actPt(@RequestBody List<Integer> ids){
+        HashMap<String, Object> map = new HashMap<>();
+        if(ids.size()==0){
+            ids.add(-1);
+        }
+        ArrayList<Object> integers = new ArrayList<>();
+        int year = DateUtil.year(new Date());
+
+        for (int i = 0; i < 10; i++) {
+            integers.add(year-i);
+        }
+        List<Object> collect = integers.stream().sorted().collect(Collectors.toList());
+        // 年
+        ArrayList<Integer> years = new ArrayList<>();
+        ArrayList<Integer> yearsUser = new ArrayList<>();
+        for (Object o : collect) {
+            String s = o.toString();
+            int count = cttService.count(new LambdaQueryWrapper<Competition>().like(Competition::getInsertTime, s));
+            int count1 = ucttService.count(new LambdaQueryWrapper<UserCompetition>().in(UserCompetition::getAppUserId, ids).like(UserCompetition::getInsertTime,s));
+            years.add(count);
+            yearsUser.add(count1);
+        }
+        map.put("yearData",years);
+        map.put("yearsUser",yearsUser);
+        // 月
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        ArrayList<Integer> months = new ArrayList<>();
+        ArrayList<Integer> monthsUser = new ArrayList<>();
+        for (int i = 1; i <= 12; i++) {
+            double sum=0.0;
+            String m=i+"";
+            if(i<10){
+                m="0"+i;
+            }
+            String s = year + "-" + m;
+            int count = cttService.count(new LambdaQueryWrapper<Competition>().like(Competition::getInsertTime, s));
+            int count1 = ucttService.count(new LambdaQueryWrapper<UserCompetition>().in(UserCompetition::getAppUserId, ids).like(UserCompetition::getInsertTime,s));
+            months.add(count);
+            monthsUser.add(count1);
+        }
+        map.put("monthData",months);
+        map.put("monthsUser",monthsUser);
+
+        return map;
+
+
+
+    }
+
 }
 

--
Gitblit v1.7.1