From 35d72e26dc2b3159021636dc1e540da0a8735b4e Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期日, 08 十月 2023 15:48:53 +0800
Subject: [PATCH] update后台

---
 cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java                                            |    2 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetitionAudit/TCompetition_edit.html               |   13 
 cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/CompetitionClient.java                |    6 
 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java                    |   43 ++
 cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml                                      |    3 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_edit.html                    |  123 ++++++
 cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java                               |  124 ++++++
 cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java                          |    9 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java          |    4 
 cloud-server-other/src/main/java/com/dsh/other/entity/TStoreOtherConfigTrue.java                                   |    3 
 cloud-server-other/src/main/java/com/dsh/other/entity/TGameConfig.java                                             |    2 
 cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java                         |    2 
 cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java                 |    6 
 cloud-server-course/src/main/resources/sharding-jdbc.properties                                                    |    4 
 cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/Competition.java                |    2 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteBooking.java                           |    3 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html                   |    2 
 cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java                        |   18 
 cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js                    |   42 +
 cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java                           |    3 
 cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java                                 |    4 
 cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java                       |   75 +++
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java    |  153 +++++++
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java      |    5 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html                     |  112 +++++
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java |    6 
 cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java            |    6 
 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java                |    5 
 cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java                                  |   71 +++
 cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java                               |    2 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html                     |  298 ++++++++++++--
 cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java                   |   32 +
 32 files changed, 1,085 insertions(+), 98 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java
index 707bea3..b7c7d88 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java
@@ -1,16 +1,21 @@
 package com.dsh.account.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.dsh.account.dto.*;
-import com.dsh.account.entity.Coach;
-import com.dsh.account.entity.GiftSearchDto;
-import com.dsh.account.entity.TStudent;
+import com.dsh.account.entity.*;
 import com.dsh.account.feignclient.course.CoursePaymentClient;
 import com.dsh.account.feignclient.course.model.TCoursePackagePayment;
+import com.dsh.account.model.QueryDataFee;
 import com.dsh.account.model.StudentVo;
+import com.dsh.account.service.IVipPaymentService;
+import com.dsh.account.service.RechargeRecordsService;
+import com.dsh.account.service.TAppUserService;
 import com.dsh.account.service.TStudentService;
 import com.dsh.account.util.ResultUtil;
 import com.dsh.account.util.TokenUtil;
+import com.dsh.account.util.ToolUtil;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
@@ -19,10 +24,13 @@
 import springfox.documentation.swagger2.mappers.ModelMapper;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @author zhibing.pu
@@ -37,6 +45,15 @@
 
     @Autowired
     private TokenUtil tokenUtil;
+
+    @Autowired
+    private TAppUserService appUserService;
+
+    @Autowired
+    private IVipPaymentService vipPaymentService;
+
+    @Autowired
+    private RechargeRecordsService rechargeRecordsService;
 
     /**
      * 添加学员
@@ -231,4 +248,105 @@
         System.out.println("=======giftSelect======selectDtos====>"+list);
         return list;
     }
+
+
+    @PostMapping("/student/getUserPt")
+    @ResponseBody
+    public List<Integer> getUserPt(@RequestBody List<Integer> ids){
+        if(ids.size()==0){
+            ids.add(-1);
+        }
+        List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().in(TAppUser::getInsertType, 1));
+        return list.stream().map(TAppUser::getId).collect(Collectors.toList());
+    }
+
+
+    @PostMapping("/student/queryFee")
+    public HashMap<String, Object> 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<VipPayment> 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(VipPayment::getInsertTime,stime,etime);
+        }
+        vipPaymentLambdaQueryWrapper.in(VipPayment::getAppUserId,ids);
+        vipPaymentLambdaQueryWrapper.eq(VipPayment::getPayStatus,2);
+        List<VipPayment> list = vipPaymentService.list(vipPaymentLambdaQueryWrapper);
+        double sum = list.stream().mapToDouble(VipPayment::getAmount).sum();
+
+        map.put("fee1",sum);
+
+        LambdaQueryWrapper<RechargeRecords> rechargeRecordsLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        if(ToolUtil.isNotEmpty(data)){
+            String stime = data.split(" - ")[0]+" 00:00:00";
+            String etime = data.split(" - ")[1]+" 23:59:59";
+            rechargeRecordsLambdaQueryWrapper.between(RechargeRecords::getInsertTime,stime,etime);
+        }
+        rechargeRecordsLambdaQueryWrapper.in(RechargeRecords::getAppUserId,ids);
+        rechargeRecordsLambdaQueryWrapper.eq(RechargeRecords::getPayStatus,2);
+        List<RechargeRecords> list1 = rechargeRecordsService.list(rechargeRecordsLambdaQueryWrapper);
+        double sum1 = list1.stream().map(RechargeRecords::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add).doubleValue();
+
+        map.put("fee2",sum1);
+
+
+
+
+        return map;
+
+
+    }
+
+
+
+    @PostMapping("/student/queryUserAge")
+    public HashMap<String, Object> queryUserAge(){
+        HashMap<String, Object> map = new HashMap<>();
+        List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().in(TAppUser::getInsertType, 1));
+        List<Integer> collect = list.stream().map(TAppUser::getId).collect(Collectors.toList());
+        if(collect.size()==0){
+            collect.add(-1);
+        }
+        List<TStudent> list1 = studentService.list(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect));
+        int age1=0;
+        int age2=0;
+        int age3=0;
+        int age4=0;
+        int boy=0;
+        int girl=0;
+        for (TStudent tStudent : list1) {
+            Date birthday = tStudent.getBirthday();
+            long l = DateUtil.betweenYear(birthday, new Date(), true);
+            if(l<7){
+                age1++;
+            }else if(l>=8 && l<11){
+                age2++;
+            }else if(l>=11 && l<=12){
+                age3++;
+            }else {
+                age4++;
+            }
+            if(tStudent.getSex()==1){
+                boy++;
+            }else {
+                girl++;
+            }
+        }
+        map.put("age1",age1);
+        map.put("age2",age2);
+        map.put("age3",age3);
+        map.put("age4",age4);
+        map.put("boy",boy);
+        map.put("girl",girl);
+        return map;
+
+
+
+    }
 }
diff --git a/cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java b/cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java
index 62b571b..4e1b938 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java
@@ -169,6 +169,6 @@
     /**
      * 添加人id平台管理员id 运营商id
      */
-    @TableField("type")
+    @TableField("addUserId")
     private Integer addUserId;
 }
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
index 830286d..f85e7b7 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -15,6 +15,7 @@
 import com.dsh.activity.model.CoachChangeStateVO;
 import com.dsh.activity.model.PointMerchandiseIncomeVo;
 import com.dsh.activity.model.PointMerchandiseVo;
+import com.dsh.activity.model.QueryDataFee;
 import com.dsh.activity.model.request.*;
 import com.dsh.activity.model.response.GoodsInfoOneVo;
 import com.dsh.activity.model.response.StoreVos;
@@ -75,6 +76,11 @@
 
     @Resource
     private CouponCityService ccityService;
+
+
+    @Resource
+    private PointsMerchandiseCityService pmdsCityService;
+
     @Autowired
     private UserPointsMerchandiseService userPointsMerchandiseService;
 
@@ -147,9 +153,6 @@
     public List<PointMerchandiseIncomeVo> getAmount(){
         return  userPointsMerchandiseService.getAmount();
     }
-
-    @Resource
-    private PointsMerchandiseCityService pmdsCityService;
 
 
     @ResponseBody
@@ -623,7 +626,6 @@
 
 
 
-
     public int dealTimeStatus(String startTime, String endTime){
         LocalDate now = LocalDate.now();
         LocalDate start = LocalDate.parse(startTime);
@@ -1016,4 +1018,69 @@
 
     }
 
+
+    @PostMapping("/base/pointMerchars/queryFee")
+    @ResponseBody
+    public HashMap<String, Object> 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);
+        }
+        List<PointsMerchandise> list1 = pmdsService.list(new LambdaQueryWrapper<PointsMerchandise>().eq(PointsMerchandise::getRedemptionMethod, 3));
+        LambdaQueryWrapper<UserPointsMerchandise> 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(UserPointsMerchandise::getInsertTime,stime,etime);
+        }
+        vipPaymentLambdaQueryWrapper.in(UserPointsMerchandise::getUserId,ids);
+        List<Integer> collect = list1.stream().map(PointsMerchandise::getId).collect(Collectors.toList());
+        if(collect.size()==0){
+            collect.add(-1);
+        }
+        vipPaymentLambdaQueryWrapper.in(UserPointsMerchandise::getPointsMerchandiseId,collect);
+        vipPaymentLambdaQueryWrapper.eq(UserPointsMerchandise::getPayStatus,2);
+        ArrayList<Integer> objects = new ArrayList<>();
+        List<UserPointsMerchandise> list = upmseService.list(vipPaymentLambdaQueryWrapper);
+
+        double a =0;
+        double d =0;
+        double m =0;
+        double j =0;
+        double y =0;
+        for (UserPointsMerchandise userPointsMerchandise : list) {
+            for (PointsMerchandise pointsMerchandise : list1) {
+                if(pointsMerchandise.getId()==userPointsMerchandise.getPointsMerchandiseId()){
+                    a += pointsMerchandise.getCash().doubleValue();
+                }
+                if(pointsMerchandise.getType()==3){
+                    if(pointsMerchandise.getCardType()==1){
+                        d += pointsMerchandise.getCash().doubleValue();
+                    }
+                    if(pointsMerchandise.getCardType()==2){
+                        m += pointsMerchandise.getCash().doubleValue();
+                    }
+                    if(pointsMerchandise.getCardType()==3){
+                        j += pointsMerchandise.getCash().doubleValue();
+                    }
+                    if(pointsMerchandise.getCardType()==4){
+                        y += pointsMerchandise.getCash().doubleValue();
+                    }
+                }
+            }
+
+        }
+
+        map.put("all",a);
+        map.put("day",d);
+        map.put("month",m);
+        map.put("quarter",j);
+        map.put("year",y);
+        return map;
+
+
+    }
+
 }
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 57f39c4..6990211 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
@@ -30,10 +30,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;
 
 /**
@@ -548,5 +545,32 @@
         }
     }
 
+
+
+    @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;
+    }
+
 }
 
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java
index 337f37d..fa41b2b 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java
@@ -18,10 +18,7 @@
 import com.dsh.course.service.TCoursePackageService;
 import com.dsh.course.service.TCoursePackageTypeService;
 import com.dsh.course.service.TCourseService;
-import com.dsh.course.util.PageFactory;
-import com.dsh.course.util.PayMoneyUtil;
-import com.dsh.course.util.ResultUtil;
-import com.dsh.course.util.TokenUtil;
+import com.dsh.course.util.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -35,10 +32,12 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.PrintWriter;
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 @Api
 @CrossOrigin
@@ -451,4 +450,68 @@
     public String getHours(@RequestBody Integer coursePackageId1){
         return coursePackageService.getHours(coursePackageId1);
     }
+
+    @PostMapping("/course/queryFee")
+    public  HashMap<String, Object> 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<TCoursePackagePayment> wrapper = new LambdaQueryWrapper<>();
+        if(ToolUtil.isNotEmpty(data)){
+            String stime = data.split(" - ")[0]+" 00:00:00";
+            String etime = data.split(" - ")[1]+" 23:59:59";
+            wrapper.between(TCoursePackagePayment::getInsertTime,stime,etime);
+        }
+        wrapper.in(TCoursePackagePayment::getAppUserId,ids);
+        wrapper.eq(TCoursePackagePayment::getPayStatus,2);
+        ArrayList<Integer> objects = new ArrayList<>();
+        objects.add(1);
+        objects.add(2);
+        objects.add(5);
+        objects.add(6);
+        wrapper.in(TCoursePackagePayment::getPayType,objects);
+        List<TCoursePackagePayment> list = coursePackagePaymentService.list(wrapper);
+        double v = list.stream().map(TCoursePackagePayment::getCashPayment).reduce(BigDecimal.ZERO, BigDecimal::add).doubleValue();
+        List<Integer> collect = list.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
+        if(collect.size()==0){
+            collect.add(-1);
+        }
+        //
+        List<TCoursePackage> list2 = coursePackageService.list(new LambdaQueryWrapper<TCoursePackage>().in(TCoursePackage::getId, collect));
+        // 课类型
+        List<TCoursePackageType> list1 = coursePackageTypeService.list();
+
+        for (TCoursePackagePayment tCoursePackagePayment : list) {
+            for (TCoursePackage tCoursePackage : list2) {
+                if(tCoursePackagePayment.getCoursePackageId().equals(tCoursePackage.getId())){
+                    tCoursePackagePayment.setType(tCoursePackage.getCoursePackageTypeId());
+                }
+            }
+        }
+
+        ArrayList<HashMap<String, Object>> hashMaps = new ArrayList<>();
+
+        for (TCoursePackageType tCoursePackageType : list1) {
+            HashMap<String, Object> objectObjectHashMap = new HashMap<>();
+            objectObjectHashMap.put("name",tCoursePackageType.getName());
+            double a= 0;
+            for (TCoursePackagePayment tCoursePackagePayment : list) {
+                if(tCoursePackagePayment.getType().equals(tCoursePackageType.getId())){
+                   a += tCoursePackagePayment.getCashPayment().doubleValue();
+                }
+            }
+            objectObjectHashMap.put("value",a);
+            hashMaps.add(objectObjectHashMap);
+        }
+
+        HashMap<String, Object> map1 = new HashMap<>();
+        map1.put("fee",v);
+        map1.put("data",hashMaps);
+
+        return map1;
+    }
 }
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
index b3bc1a8..2f691bb 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -1558,4 +1558,47 @@
         return a;
     }
 
+
+    @ResponseBody
+    @PostMapping("/coursePackagePayment/queryCourseData")
+    public List<Map<String,Object>> queryCourseData(@RequestBody List<Integer> ids){
+        // 找出课程类型  找出剩余的课时数
+        List<TCoursePackageType> list = coursePackageTypeService.list();
+        if(ids.size()==0){
+            ids.add(-1);
+        }
+        List<TCoursePackagePayment> list1 = packagePaymentService.listOne(ids);
+        List<Integer> collect = list1.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
+        if(collect.size()==0){
+            collect.add(-1);
+        }
+        List<TCoursePackage> list2 = tcpService.list(new LambdaQueryWrapper<TCoursePackage>().in(TCoursePackage::getId, collect));
+        for (TCoursePackagePayment tCoursePackagePayment : list1) {
+            for (TCoursePackage tCoursePackage : list2) {
+                if(tCoursePackagePayment.getCoursePackageId().equals(tCoursePackage.getId())){
+                    tCoursePackagePayment.setType(tCoursePackage.getType());
+                }
+            }
+        }
+
+
+        List<Map<String,Object>> mapList = new ArrayList<>();
+        for (TCoursePackageType tCoursePackageType : list) {
+            HashMap<String, Object> map = new HashMap<>();
+            map.put("name",tCoursePackageType.getName());
+            int a =0;
+            for (TCoursePackagePayment tCoursePackagePayment : list1) {
+                if(tCoursePackagePayment.getType().equals(tCoursePackageType.getId())){
+                    a += tCoursePackagePayment.getLaveClassHours();
+                }
+            }
+            map.put("value",a);
+            mapList.add(map);
+        }
+
+
+        return mapList;
+    }
+
+
 }
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
index ef54715..c9e7694 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
@@ -164,4 +164,8 @@
      */
     @TableField("salesName")
     private String salesName;
+
+
+    @TableField(exist = false)
+    private Integer type;
 }
diff --git a/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java b/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java
index 03f1be1..fcd43f6 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java
@@ -67,4 +67,7 @@
     boolean updateHoursById(@Param("id") Long id, @Param("i") int i);
 
     void updateBytime(@Param("coursePackagePayment") TCoursePackagePayment coursePackagePayment);
+
+    List<TCoursePackagePayment> listOne(@Param("ids") List<Integer> ids);
+
 }
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java
index e69e432..4b4f452 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java
@@ -133,4 +133,6 @@
 
     List<RegisterOrderVO> listAllRegister(RegisterOrderQuery query);
 
+    List<TCoursePackagePayment> listOne(List<Integer> ids);
+
 }
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
index 5057fec..b1db359 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -153,6 +153,11 @@
         return cpConfigMapper.listAllRegister(query,STime,ETime,query.getAmount());
     }
 
+    @Override
+    public List<TCoursePackagePayment> listOne(List<Integer> ids) {
+        return this.baseMapper.listOne(ids);
+    }
+
     /**
      * 获取课包购买人数
      * @param coursePackageId
diff --git a/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml b/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
index cbbc616..e9a7a71 100644
--- a/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
+++ b/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
@@ -134,6 +134,9 @@
 
 
     </select>
+    <select id="listOne" resultType="com.dsh.course.entity.TCoursePackagePayment">
+        select * from t_course_package_payment where appUserId in <foreach collection="ids" separator="," open="(" item="id" close=")">#{id}</foreach>
+    </select>
 
     <update id="updateBytime">
         update  t_course_package_payment
diff --git a/cloud-server-course/src/main/resources/sharding-jdbc.properties b/cloud-server-course/src/main/resources/sharding-jdbc.properties
index ca0dde7..09e20a5 100644
--- a/cloud-server-course/src/main/resources/sharding-jdbc.properties
+++ b/cloud-server-course/src/main/resources/sharding-jdbc.properties
@@ -3,9 +3,9 @@
 #��������
 datasource.master0.type=com.alibaba.druid.pool.DruidDataSource
 datasource.master0.driverClassName=com.mysql.cj.jdbc.Driver
-datasource.master0.url=jdbc:mysql://8.137.22.229:3306/playpai_course?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
+datasource.master0.url=jdbc:mysql://192.168.110.80:3306/playpai_course?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
 datasource.master0.username=root
-datasource.master0.password=playpai2023!
+datasource.master0.password=123456
 datasource.master0.maxActive=20
 datasource.master0.maxWait=60000
 datasource.master0.minIdle=5
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java
index 4605680..bf46cef 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java
@@ -2,13 +2,10 @@
 
 import com.dsh.course.dto.CreateHistoryDto;
 import com.dsh.course.dto.GetHistoryDto;
-import com.dsh.course.feignClient.account.model.QueryAppUser;
-import com.dsh.course.feignClient.account.model.QueryAppUserVO;
+import com.dsh.course.feignClient.account.model.*;
 
 import com.dsh.course.dto.StudentSearch;
 import com.dsh.course.dto.TStudentDto;
-import com.dsh.course.feignClient.account.model.QueryByNamePhone;
-import com.dsh.course.feignClient.account.model.TAppUser;
 import com.dsh.course.feignClient.other.model.SiteChangeStateVO;
 import com.dsh.guns.modular.system.model.AdvertisementChangeStateDTO;
 import com.dsh.guns.modular.system.model.AppUserByNameAndPhoneDTO;
@@ -19,6 +16,7 @@
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.RequestBody;
 
+import java.util.HashMap;
 import java.util.List;
 
 @FeignClient("mb-cloud-account")
@@ -95,4 +93,16 @@
     List<GetHistoryDto> getHisory();
     @PostMapping("/student/giftSelect")
     List<SelectDto> giftSelect(@RequestBody GiftSearchDto giftSearchDto);
+
+    @PostMapping("/student/getUserPt")
+    List<Integer> getUserPt(List<Integer> ids);
+
+    @PostMapping("/student/queryFee")
+    HashMap<String, Object> queryFee(QueryDataFee queryDataFee);
+
+    @PostMapping("/student/queryUserAge")
+    HashMap<String, Object> queryUserAge();
+
+
+
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java
index 16d1ccf..7a57e67 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java
@@ -2,6 +2,7 @@
 
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.dsh.course.feignClient.account.model.QueryDataFee;
 import com.dsh.course.feignClient.activity.model.IntegralGoodsOfSearch;
 import com.dsh.course.feignClient.activity.model.PointMercharsPayedVo;
 import com.dsh.course.feignClient.activity.model.PointMercharsVo;
@@ -16,6 +17,7 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -91,4 +93,8 @@
     Object updateType(String s);
 
 
+    @PostMapping("/base/pointMerchars/queryFee")
+    HashMap<String, Object> queryFee(QueryDataFee queryDataFee);
+
+
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/CompetitionClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/CompetitionClient.java
index 70eee48..faf925c 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/CompetitionClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/CompetitionClient.java
@@ -1,6 +1,7 @@
 package com.dsh.course.feignClient.competition;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.dsh.course.feignClient.account.model.QueryDataFee;
 import com.dsh.course.feignClient.competition.model.*;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -40,6 +41,11 @@
 
     @PostMapping("/base/competition/listAudit")
     Page<Competition> listAudit(ListQuery listQuery);
+
+    @PostMapping("/base/competition/queryFee")
+    Double queryFee(QueryDataFee queryDataFee);
+
+
 }
 
 
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/Competition.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/Competition.java
index 4ad269d..01c561a 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/Competition.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/Competition.java
@@ -59,7 +59,7 @@
      * 门店id
      */
     @TableField("storeId")
-    private Integer storeId;
+    private String storeId;
     /**
      * 赛事名称
      */
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java
index 171b993..4df17a7 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java
@@ -1,6 +1,7 @@
 package com.dsh.course.feignClient.course;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.dsh.course.feignClient.account.model.QueryDataFee;
 import com.dsh.course.feignClient.course.model.CourseChangeStateDTO;
 import com.dsh.course.feignClient.course.model.QueryCourseList;
 import com.dsh.guns.modular.system.model.EditCourseState;
@@ -11,8 +12,8 @@
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -107,4 +108,10 @@
 
     @PostMapping("/course/getHours")
     String getHours(Integer coursePackageId1);
+
+
+    @PostMapping("/course/queryFee")
+    HashMap<String, Object> queryFee(QueryDataFee queryDataFee);
+
+
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java
index 8d09904..ac52705 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java
@@ -88,4 +88,10 @@
 
     @PostMapping("/coursePackagePayment/CountqueryByClassId")
     Integer queryByClassId(Integer id);
+
+    @PostMapping("/coursePackagePayment/queryCourseData")
+    List<Map<String,Object>> queryCourseData(List<Integer> ids);
+
+
+
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java
index deeb3ec..0fe7d8e 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.dsh.course.feignClient.account.*;
 import com.dsh.course.feignClient.account.model.CityManager;
+import com.dsh.course.feignClient.account.model.QueryDataFee;
 import com.dsh.course.feignClient.account.model.TAppUser;
 import com.dsh.course.feignClient.account.model.VipPayment;
 import com.dsh.course.feignClient.activity.PointMercharsClient;
@@ -18,8 +19,9 @@
 import com.dsh.course.model.MoneyBack;
 import com.dsh.guns.config.UserExt;
 import com.dsh.guns.core.base.controller.BaseController;
+import com.dsh.guns.core.util.ToolUtil;
 import com.dsh.guns.modular.system.model.*;
-import com.dsh.guns.modular.system.service.ICityService;
+import com.dsh.guns.modular.system.service.*;
 import groovyjarjarpicocli.CommandLine;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -50,8 +52,14 @@
     private ICityService cityService;
     @Autowired
     private CityManagerClient cityManagerClient;
+
+    @Autowired
+    private IUserService sysUserService;
     @Autowired
     private AppUserClient appUserClient;
+
+    @Autowired
+    private CourseClient courseClient;
     @Autowired
     private VipPaymentClient vipPaymentClient;
     @Autowired
@@ -60,6 +68,9 @@
     private CoursePackagePaymentClient coursePackagePaymentClient;
     @Autowired
     private CompetitionClient competitionClient;
+
+    @Autowired
+    private ISiteBookingService siteBookingService;
     @Autowired
     private StoreClient storeClient;
     @Autowired
@@ -77,6 +88,17 @@
      */
     @RequestMapping("/platform")
     public String index(Model model) {
+        Object o = type1(null);
+        model.addAttribute("data",o);
+
+
+
+        // 教学统计
+        HashMap<String, Object> map = appUserClient.queryUserAge();
+        model.addAttribute("stuData",map);
+
+
+
         return PREFIX + "platformIncome.html";
     }
 
@@ -506,6 +528,135 @@
         model.addAttribute("objectType",objectType);
         return PREFIX + "storeIncome.html";
     }
+
+
+    @Autowired
+    private ITSiteTypeService siteTypeService;
+
+
+    @Autowired
+    private ITSiteService siteService;
+
+    @RequestMapping("/type1")
+    @ResponseBody
+    public Object type1(String time) {
+        HashMap<String, Object> map = new HashMap<>();
+        // 找出平台的用户
+        List<User> list = sysUserService.list(new LambdaQueryWrapper<User>().eq(User::getObjectType, 1));
+        List<Integer> ids = list.stream().map(User::getId).collect(Collectors.toList());
+        List<Integer> userIds = appUserClient.getUserPt(ids);
+        QueryDataFee queryDataFee = new QueryDataFee(time, userIds);
+        // 会员费
+        HashMap<String, Object> map1 = appUserClient.queryFee(queryDataFee);
+        Object fee1 = map1.get("fee1");
+
+        map.put("fee1",fee1);
+        //玩湃比
+        Object fee2 = map1.get("fee2");
+        map.put("fee2",fee2);
+        // 课程收入
+        HashMap<String, Object> map3 = courseClient.queryFee(queryDataFee);
+        map.put("fee3",map3.get("fee"));
+        Object data = map3.get("data");
+        map.put("courseData",data);
+
+
+        // 赛事收入
+        Double aDouble1 = competitionClient.queryFee(queryDataFee);
+        map.put("fee4",aDouble1);
+
+        // 订场
+        if(ids.size()==0){
+            ids.add(-1);
+        }
+        LambdaQueryWrapper<SiteBooking> vipPaymentLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        if(ToolUtil.isNotEmpty(time)){
+            String stime = time.split(" - ")[0]+" 00:00:00";
+            String etime = time.split(" - ")[1]+" 23:59:59";
+            vipPaymentLambdaQueryWrapper.between(SiteBooking::getInsertTime,stime,etime);
+        }
+        if(userIds.size()==0){
+            userIds.add(-1);
+        }
+        vipPaymentLambdaQueryWrapper.in(SiteBooking::getAppUserId,userIds);
+        vipPaymentLambdaQueryWrapper.ne(SiteBooking::getStatus,0);
+        ArrayList<Integer> objects = new ArrayList<>();
+        objects.add(1);
+        objects.add(2);
+        vipPaymentLambdaQueryWrapper.in(SiteBooking::getPayType,objects);
+        List<SiteBooking> list1 = siteBookingService.list(vipPaymentLambdaQueryWrapper);
+        double sum = list1.stream().mapToDouble(SiteBooking::getPayMoney).sum();
+        map.put("fee5",sum);
+
+
+        List<Integer> collect = list1.stream().map(SiteBooking::getSiteId).collect(Collectors.toList());
+        if(collect.size()==0){
+            collect.add(-1);
+        }
+        List<TSite> list3 = siteService.list(new LambdaQueryWrapper<TSite>().in(TSite::getId, collect));
+        for (SiteBooking siteBooking : list1) {
+            for (TSite tSite : list3) {
+                if(siteBooking.getSiteId().equals(tSite.getId())){
+                    siteBooking.setType(tSite.getSiteTypeId());
+                }
+            }
+        }
+
+
+        List<TSiteType> list2 = siteTypeService.list();
+
+        List<Map<String,Object>> mapList = new ArrayList<>();
+
+        for (TSiteType tSiteType : list2) {
+            HashMap<String, Object> map2 = new HashMap<>();
+            map2.put("name",tSiteType.getName());
+            double a =0;
+            for (SiteBooking siteBooking : list1) {
+                if(tSiteType.getId().equals(siteBooking.getType())){
+                    a += siteBooking.getPayMoney();
+                }
+            }
+            map2.put("value",a);
+            mapList.add(map2);
+        }
+        map.put("siteData",mapList);
+
+
+        // 商品  门票
+        HashMap<String, Object> map2 = pointMercharsClient.queryFee(queryDataFee);
+        Object all = map2.get("all");
+        Object day = map2.get("day");
+        Object month = map2.get("month");
+        Object quarter = map2.get("quarter");
+        Object year = map2.get("year");
+        map.put("fee7",all);
+        map.put("dayone",day);
+        map.put("monthone",month);
+        map.put("quarterone",quarter);
+        map.put("yearone",year);
+
+        return map;
+    }
+    @RequestMapping("/stuCourseData")
+    @ResponseBody
+    public Object stuCourseData() {
+        ArrayList<Integer> objects = new ArrayList<>();
+        objects.add(1);
+        List<Integer> userIds = appUserClient.getUserPt(objects);
+        List<Map<String,Object>> list = coursePackagePaymentClient.queryCourseData(userIds);
+        ArrayList<Object> objects2 = new ArrayList<>();
+        ArrayList<Object> objects3 = new ArrayList<>();
+        for (Map<String, Object> map : list) {
+            Object name = map.get("name");
+            Object value = map.get("value");
+            objects2.add(name);
+            objects3.add(value);
+        }
+        HashMap<String, Object> map = new HashMap<>();
+        map.put("data1",objects2);
+        map.put("data2",objects3);
+        return map;
+    }
 }
 
 
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java
index 31c37e9..ab33f20 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java
@@ -84,9 +84,15 @@
         List<TCity> list1 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId,one.getId()));
 
         List<TStore> list2 = storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getCityCode,competition.getCityCode()));
+        String[] split = competition.getImgs().split(",");
+        ArrayList<String> strings = new ArrayList<>();
+        for (String s : split) {
+            strings.add(s);
+        }
         model.addAttribute("list",list);
         model.addAttribute("list1",list1);
         model.addAttribute("list2",list2);
+        model.addAttribute("imgs",strings);
         model.addAttribute("type",2);
         return PREFIX + "TCompetition_edit.html";
     }
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java
index 6872c5f..527b78e 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java
@@ -166,8 +166,9 @@
             }
             competition.setAuditStatus(1);
             SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-            competition.setStartTime(format.parse(competition.getSTime()));
-            competition.setEndTime(format.parse(competition.getETime()));
+            SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
+            competition.setStartTime(format1.parse(competition.getSTime()));
+            competition.setEndTime(format1.parse(competition.getETime()));
             competition.setRegisterEndTime(format.parse(competition.getREndTime()));
             competitionClient.add(competition);
             return new SuccessTip<>();
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java
index 764286a..2ab0c81 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java
@@ -356,7 +356,7 @@
                         }
                         TAppUser tAppUser = appUserClient.queryById(competition.getAppUserId());
                         Competition competition1 = competitionClient.queryById(competition.getCompetitionId());
-                        Store store = storeClient.getStoreById(competition1.getStoreId());
+                        Store store = storeClient.getStoreById(Integer.valueOf(competition1.getStoreId().split(",")[0]));
                         IncomeVO temp = new IncomeVO();
                         temp.setId(competition.getId().intValue());
                         temp.setProvince(tAppUser.getProvince());
@@ -535,7 +535,7 @@
                         }
                         TAppUser tAppUser = appUserClient.queryById(competition.getAppUserId());
                         Competition competition1 = competitionClient.queryById(competition.getCompetitionId());
-                        Store store = storeClient.getStoreById(competition1.getStoreId());
+                        Store store = storeClient.getStoreById(Integer.valueOf(competition1.getStoreId().split(",")[0]));
                         IncomeVO temp = new IncomeVO();
                         temp.setId(competition.getId().intValue());
                         temp.setProvince(tAppUser.getProvince());
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteBooking.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteBooking.java
index 8858260..1fdcfce 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteBooking.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteBooking.java
@@ -176,4 +176,7 @@
     private String halfName;
     @TableField("goType")
     private Integer goType;
+
+    @TableField(exist = false)
+    private Integer type;
 }
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html
index 9961f04..cb7fc3a 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html
@@ -1,4 +1,4 @@
-@layout("/common/_container.html"){
+    @layout("/common/_container.html"){
 <div class="ibox float-e-margins">
     <div class="ibox-content">
         <div class="form-horizontal">
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html
index 69f573c..8ccd20e 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html
@@ -41,6 +41,19 @@
 <div class="ibox float-e-margins">
     <div class="ibox-content">
         <div class="form-horizontal">
+
+            <input hidden id="day" value="${data.dayone}">
+            <input hidden id="month" value="${data.monthone}">
+            <input hidden id="quarter" value="${data.quarterone}">
+            <input hidden id="year" value="${data.yearone}">
+            <input hidden id="age1" value="${stuData.age1}">
+            <input hidden id="age2" value="${stuData.age2}">
+            <input hidden id="age3" value="${stuData.age3}">
+            <input hidden id="age4" value="${stuData.age4}">
+            <input hidden id="boy" value="${stuData.boy}">
+            <input hidden id="girl" value="${stuData.girl}">
+
+
             <div class="row">
                 <div class="col-sm-10">
                     <div style="height: 50px;box-sizing: border-box;background:#f3f3f4;line-height: 50px;border:1px solid;margin-bottom: 20px;width: auto">
@@ -48,6 +61,8 @@
                         <div id="div2" class='table1' onclick="getContent(2)" style="border-right: 1px solid #333;">运营统计</div>
                         <div id="div3" class='table1' onclick="getContent(3)" style="border-right: 1px solid #333;">教学统计</div>
                     </div>
+
+
                     <div class="row" id="content1" style="margin-left: 100px;">
                         <div class="col-sm-11">
                             <div class="form-group">
@@ -71,21 +86,19 @@
                                     </br>
                                     <div class="col-sm-3" style="width: 400px;display: flex">
                                         <#TimeCon id="beginTime" name="时间段:" isTime="false"/>
-                                        <#button name="搜索" icon="fa-search" clickFun="TCompetition.search()"/>
+                                        <#button name="搜索" icon="fa-search" clickFun="search1()"/>
                                     </div>
                                 </div>
 
                                 <div class="col-sm-10" style="width: 1500px" >
                                     </br>
                                     </br>
-                                   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span>会员费收入:</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-                                    <span>玩湃币充值收入:</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-                                    <span>课程收入:</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-                                    <span>活动收入:</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-                                    <span>订场收入:</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-                                    <span>赛事收入:</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-                                    <span>商品收入:</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-                                    <span>其他收入:</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span>会员费收入:<label id="fee1">${data.fee1}</label></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                                    <span>玩湃币充值收入:<label id="fee2">${data.fee2}</label></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                                    <span>课程收入:<label id="fee3">${data.fee3}</label></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                                    <span>活动/赛事收入:<label id="fee4">${data.fee4}</label></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                                    <span>订场收入:<label id="fee5">${data.fee5}</label></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                                    <span>商品收入:<label id="fee7">${data.fee7}</label></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                     </br>
                                     </br>
                                     </br>
@@ -239,10 +252,138 @@
             </div>
         </div>
     </div>
+
+
 </div>
 <script src="${ctxPath}/modular/system/dataStatistics/echarts.min.js"></script>
 <script src="${ctxPath}/static/js/plugins/switchery/switchery.js"></script>
 <script>
+    function search1(){
+        var time = $("#beginTime").val()
+        var ajax = new $ax(Feng.ctxPath + "/data/type1", function (data) {
+
+            $("#fee1").text(data.fee1)
+            $("#fee2").text(data.fee2)
+            $("#fee3").text(data.fee3)
+            $("#fee4").text(data.fee4)
+            $("#fee5").text(data.fee5)
+            $("#fee7").text(data.fee7)
+            $("#day").val(data.dayone)
+            $("#month").val(data.monthone)
+            $("#quarter").val(data.quarterone)
+            $("#year").val(data.yearone)
+
+
+
+
+
+            var chartDom = document.getElementById('cookieTicket');
+            var myChart = echarts.init(chartDom);
+            var option;
+            option = {
+                title: {
+                    text: '门票收入',
+                    subtext: '',
+                    left: 'center'
+                },
+                tooltip: {
+                    trigger: 'item'
+                },
+
+                series: [
+                    {
+                        name: 'Access From',
+                        type: 'pie',
+                        radius: '50%',
+                        data: [
+                            { value: data.dayone, name: '日卡' },
+                            { value: data.monthone, name: '月卡' },
+                            { value: data.quarterone, name: '季卡' },
+                            { value: data.yearone, name: '年卡' },
+
+                        ],
+                        emphasis: {
+                            itemStyle: {
+                                shadowBlur: 10,
+                                shadowOffsetX: 0,
+                                shadowColor: 'rgba(0, 0, 0, 0.5)'
+                            }
+                        }
+                    }
+                ]
+            };
+            myChart.setOption(option);
+
+            var chartDom = document.getElementById('cookieCourse');
+            var myChart = echarts.init(chartDom);
+            var option;
+            option = {
+                title: {
+                    text: '课程收入',
+                    subtext: '',
+                    left: 'center'
+                },
+                tooltip: {
+                    trigger: 'item'
+                },
+
+                series: [
+                    {
+                        name: 'Access From',
+                        type: 'pie',
+                        radius: '50%',
+                        data:    data.courseData,
+                        emphasis: {
+                            itemStyle: {
+                                shadowBlur: 10,
+                                shadowOffsetX: 0,
+                                shadowColor: 'rgba(0, 0, 0, 0.5)'
+                            }
+                        }
+                    }
+                ]
+            };
+            myChart.setOption(option);
+
+
+            var chartDom = document.getElementById('cookieBooking');
+            var myChart = echarts.init(chartDom);
+            var option;
+            option = {
+                title: {
+                    text: '订场收入',
+                    subtext: '',
+                    left: 'center'
+                },
+                tooltip: {
+                    trigger: 'item'
+                },
+
+                series: [
+                    {
+                        name: 'Access From',
+                        type: 'pie',
+                        radius: '50%',
+                        data: data.siteData,
+                        emphasis: {
+                            itemStyle: {
+                                shadowBlur: 10,
+                                shadowOffsetX: 0,
+                                shadowColor: 'rgba(0, 0, 0, 0.5)'
+                            }
+                        }
+                    }
+                ]
+            };
+            myChart.setOption(option);
+
+
+        }, function (data) {
+
+        });
+        ajax.set("time",time);
+        ajax.start();
+    }
     var ans = [];
     var weekX = [];
     var monthX = ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"];
@@ -661,6 +802,8 @@
                 }
             ]
         };
+
+
         option6  = {
             tooltip: {
                 trigger: 'axis'
@@ -714,6 +857,9 @@
                 }
             ]
         };
+
+
+
         option7  = {
             tooltip: {
                 trigger: 'axis'
@@ -839,6 +985,41 @@
             $("#ensure").show();
             $("#nextB").hide();
         }
+
+
+        if(type==3){
+            var ajax = new $ax(Feng.ctxPath + "/data/stuCourseData", function (data) {
+
+                console.log(data.data1)
+                var chartDom = document.getElementById('cookieTeachCourse');
+                var myChart = echarts.init(chartDom);
+                var option;
+
+                option = {
+                    xAxis: {
+                        type: 'category',
+                        data: data.data1,
+                    },
+                    yAxis: {
+                        type: 'value'
+                    },
+                    series: [
+                        {
+                            data: data.data2,
+                            type: 'bar'
+                        }
+                    ]
+                };
+                myChart.setOption(option);
+            }, function (data) {
+
+            });
+            ajax.start();
+        }
+
+
+
+
     }
     function getContent1(type){
         //设置点击字体颜色效果
@@ -873,12 +1054,12 @@
         }
     }
 
-</script>
-<script>
     $(function(){
+
         var chartDom = document.getElementById('cookieTicket');
         var myChart = echarts.init(chartDom);
         var option;
+
         option = {
             title: {
                 text: '门票收入',
@@ -895,8 +1076,10 @@
                     type: 'pie',
                     radius: '50%',
                     data: [
-                        { value: 1048, name: '年票' },
-                        { value: 735, name: '亲子票' },
+                        { value: $("#day").val(), name: '日卡' },
+                        { value: $("#month").val(), name: '月卡' },
+                        { value: $("#quarter").val(), name: '季卡' },
+                        { value: $("#year").val(), name: '年卡' },
 
                     ],
                     emphasis: {
@@ -912,8 +1095,24 @@
     myChart.setOption(option);
     });
     $(function(){
+        var courseData = "${data.courseData}"
+        courseData =courseData.replace("[","").replace("]","")
+        courseData = courseData.split('},')
+
+        var a=[];
+        for (let j = 0; j <courseData.length; j++) {
+            if(j<courseData.length-1){
+                var d = courseData[j].replace("{","").replace("}","").split(",")
+                    let obj ={
+                        name:d[0].split("=")[1],
+                        value:d[1].split("=")[1]
+                    }
+                    a.push(obj)
+            }
+        }
         var chartDom = document.getElementById('cookieCourse');
-        var myChart = echarts.init(chartDom);
+        var myChart = echarts.init(chartDom)
+
         var option;
         option = {
             title: {
@@ -930,12 +1129,7 @@
                     name: 'Access From',
                     type: 'pie',
                     radius: '50%',
-                    data: [
-                        { value: 1048, name: '篮球课' },
-                        { value: 735, name: '羽毛课' },
-                        { value: 735, name: '足球课' },
-
-                    ],
+                    data: a,
                     emphasis: {
                         itemStyle: {
                             shadowBlur: 10,
@@ -949,6 +1143,22 @@
         myChart.setOption(option);
     });
     $(function(){
+        var courseData = "${data.siteData}"
+
+        courseData =courseData.replace("[","").replace("]","")
+        courseData = courseData.split('},')
+
+        var a=[];
+        for (let j = 0; j <courseData.length; j++) {
+            if(j<courseData.length-1){
+                var d = courseData[j].replace("{","").replace("}","").split(",")
+                let obj ={
+                    name:d[0].split("=")[1],
+                    value:d[1].split("=")[1]
+                }
+                a.push(obj)
+            }
+        }
         var chartDom = document.getElementById('cookieBooking');
         var myChart = echarts.init(chartDom);
         var option;
@@ -967,12 +1177,7 @@
                     name: 'Access From',
                     type: 'pie',
                     radius: '50%',
-                    data: [
-                        { value: 1048, name: '激战' },
-                        { value: 735, name: '篮球场' },
-                        { value: 735, name: '足球场' },
-
-                    ],
+                    data: a,
                     emphasis: {
                         itemStyle: {
                             shadowBlur: 10,
@@ -1005,8 +1210,10 @@
                     type: 'pie',
                     radius: '50%',
                     data: [
-                        { value: 1048, name: '30-35' },
-                        { value: 735, name: '12-18' },
+                        { value: 1048, name: '0-7岁' },
+                        { value: 735, name: '8-10岁' },
+                        { value: 735, name: '11-12岁' },
+                        { value: 735, name: '13岁以上' },
 
                     ],
                     emphasis: {
@@ -1041,8 +1248,10 @@
                     type: 'pie',
                     radius: '50%',
                     data: [
-                        { value: 1048, name: '30-35' },
-                        { value: 735, name: '12-18' },
+                        { value: $("#age1").val(), name: '0-7岁' },
+                        { value: $("#age2").val(), name: '8-10岁' },
+                        { value:$("#age3").val(), name: '11-12岁' },
+                        { value: $("#age4").val(), name: '13岁以上' },
 
                     ],
                     emphasis: {
@@ -1113,8 +1322,8 @@
                     type: 'pie',
                     radius: '50%',
                     data: [
-                        { value: 1048, name: '男' },
-                        { value: 735, name: '女' },
+                        { value: $("#boy").val(), name: '男' },
+                        { value: $("#girl").val(), name: '女' },
 
                     ],
                     emphasis: {
@@ -1151,27 +1360,12 @@
         };
         myChart.setOption(option);
     });
-    $(function(){
-        var chartDom = document.getElementById('cookieTeachCourse');
-        var myChart = echarts.init(chartDom);
-        var option;
 
-        option = {
-            xAxis: {
-                type: 'category',
-                data: ['足球课', '篮球课', '羽毛球课', '网球课', '排球课']
-            },
-            yAxis: {
-                type: 'value'
-            },
-            series: [
-                {
-                    data: [120, 200, 150, 80, 70, 110, 130],
-                    type: 'bar'
-                }
-            ]
-        };
-        myChart.setOption(option);
+    function stuCourseData(){
+
+    }
+    $(function(){
+
     });
 </script>
 @}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html
index 1adda3f..b49d32e 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html
@@ -1,5 +1,47 @@
 @layout("/common/_container.html"){
 <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script>
+<style>
+    .avatar-uploader .el-upload {
+        border: 1px dashed #d9d9d9;
+        border-radius: 6px;
+        cursor: pointer;
+        position: relative;
+        height: 100px;
+        width: 100px;
+        overflow: hidden;
+    }
+
+    .avatar-uploader .el-upload:hover {
+        border-color: #409EFF;
+    }
+    .avatar-uploader-icon {
+        font-size: 28px;
+        color: #8c939d;
+        width: 100px;
+        height: 100px;
+        line-height: 100px;
+        margin-top: 32px;
+        text-align: center;
+    }
+    .avatar {
+        width: 100px;
+        height: 100px;
+        display: block;
+    }
+
+    .col-sm-12 {
+        margin-top: 20px;
+    }
+
+    .col-sm-12 select {
+        height: 33px;
+    }
+    #app1{
+        margin-left: 255px;
+    }
+
+
+</style>
 <div class="ibox float-e-margins">
     <div class="ibox-content">
 
@@ -114,7 +156,26 @@
                 </div>
 
                 <#avatar id="coverDrawing" name="赛事封面(推荐像素:210*280px):" />
-                <#avatar id="imgs" name="赛事图片(推荐像素:780*440px):" />
+            <div class="row" id="app1">
+                <div class="form-group">
+                    <label class="col-sm-3 control-label head-scu-label">*赛事活动图片(请上传不超过五张图片): </label>
+                    <div class="col-sm-2" style="width: 100%;margin-left: 11%;margin-top: 1%">
+                        <el-upload
+                                :limit="5"
+                                class="avatar-uploader"
+                                action="/tCouponManage/uploadPic"
+                                list-type="picture-card"
+                                accept="."
+                                :on-success="handleAvatarSuccess"
+                                :on-remove="handleRemove">
+                            <i class="el-icon-plus"></i>
+                        </el-upload>
+                        <el-dialog :visible.sync="dialogVisible">
+                            <img width="100%" :src="imageUrl1" alt="">
+                        </el-dialog>
+                    </div>
+                </div>
+            </div>
                 <#avatar id="registrationNotes" name="报名须知(推荐像素:宽780px):" />
 
         </div>
@@ -132,18 +193,55 @@
     </div>
 </div>
 <script src="${ctxPath}/modular/system/tCompetition/tCompetition_info.js"></script>
+<script src="${ctxPath}/js/vue/vue.js"></script>
+<script src="${ctxPath}/js/elementui/index.js"></script>
+<link rel="stylesheet" href="${ctxPath}/js/elementui/index.css">
 <script>
-
-
-    laydate.render({
-        elem: '#startTime'
-        ,type:"datetime"
+    var vue2 = new Vue({
+        el: '#app1',
+        props: {
+            // 数量限制
+            limit: {
+                type: Number,
+                default: 2
+            },
+        },
+        data: {
+            autoUpload: true,//自动上传
+            imageUrl1: '',//模型数据,用于上传图片完成后图片预览
+            dialogVisible: false
+        },
+        methods: {
+            handleAvatarSuccess(res, file) {
+                console.log(TCarInfoDlg.goodsPicArray1)
+                TCarInfoDlg.goodsPicArray1.push(file);
+            },
+            beforeAvatarUpload(file) {
+                const isLt2M = file.size / 1024 / 1024 < 10;
+                if (!isLt2M) {
+                    this.$message.error('上传图片大小不能超过 10MB!');
+                }
+                return isLt2M;
+            },
+            handleRemove(file, fileList) {
+                TCarInfoDlg.goodsPicArray1 = TCarInfoDlg.goodsPicArray1.filter(item => {
+                    return item.uid != file.uid;
+                });
+            },
+        },
+        created() {
+        },
     });
     laydate.render({
         elem: '#endTime'
-        ,type:"datetime"
+        ,type:"date"
     });
     laydate.render({
+        elem: '#startTime'
+        ,type:"date"
+    });
+
+    laydate.render({
         elem: '#registerEndTime'
         ,type:"datetime"
     });
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_edit.html
index 83fdac1..61b2a8c 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_edit.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_edit.html
@@ -1,5 +1,47 @@
 @layout("/common/_container.html"){
 <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script>
+<style>
+    .avatar-uploader .el-upload {
+        border: 1px dashed #d9d9d9;
+        border-radius: 6px;
+        cursor: pointer;
+        position: relative;
+        height: 100px;
+        width: 100px;
+        overflow: hidden;
+    }
+
+    .avatar-uploader .el-upload:hover {
+        border-color: #409EFF;
+    }
+    .avatar-uploader-icon {
+        font-size: 28px;
+        color: #8c939d;
+        width: 100px;
+        height: 100px;
+        line-height: 100px;
+        margin-top: 32px;
+        text-align: center;
+    }
+    .avatar {
+        width: 100px;
+        height: 100px;
+        display: block;
+    }
+
+    .col-sm-12 {
+        margin-top: 20px;
+    }
+
+    .col-sm-12 select {
+        height: 33px;
+    }
+    #app1{
+        margin-left: 255px;
+    }
+
+
+</style>
 <div class="ibox float-e-margins">
     <div class="ibox-content">
 
@@ -131,7 +173,27 @@
             </div>
 
             <#avatar id="coverDrawing" name="赛事封面(推荐像素:210*280px):" avatarImg="${item.coverDrawing}" />
-            <#avatar id="imgs" name="赛事图片(推荐像素:780*440px):" />
+            <div class="row" id="app1">
+                <div class="form-group">
+                    <label class="col-sm-3 control-label head-scu-label">*实景图片(请上传不超过五张图片): </label>
+                    <div class="col-sm-2" style="width: 100%;margin-left: 11%;margin-top: 1%">
+                        <el-upload
+                                :limit="5"
+                                class="avatar-uploader"
+                                action="/tCouponManage/uploadPic"
+                                list-type="picture-card"
+                                accept="."
+                                :file-list="imageUrl2"
+                                :on-success="handleAvatarSuccess"
+                                :on-remove="handleRemove">
+                            <i class="el-icon-plus"></i>
+                        </el-upload>
+                        <el-dialog :visible.sync="dialogVisible">
+                            <img width="100%" :src="imageUrl2" alt="">
+                        </el-dialog>
+                    </div>
+                </div>
+            </div>
             <#avatar id="registrationNotes" name="报名须知(推荐像素:宽780px):"  avatarImg="${item.registrationNotes}"/>
 
         </div>
@@ -151,7 +213,66 @@
 </div>
 </div>
 <script src="${ctxPath}/modular/system/tCompetition/tCompetition_info.js"></script>
+<script src="${ctxPath}/js/vue/vue.js"></script>
+<script src="${ctxPath}/js/elementui/index.js"></script>
+<link rel="stylesheet" href="${ctxPath}/js/elementui/index.css">
 <script>
+    let id = "${item.imgs}"
+    let obj = []
+
+    var vue2 = new Vue({
+        el: '#app1',
+        props: {
+            // 数量限制
+            limit: {
+                type: Number,
+                default: 2
+            },
+        },
+        data: {
+            autoUpload: true,//自动上传
+            imageUrl1: '',//模型数据,用于上传图片完成后图片预览
+            imageUrl2: [],
+            dialogVisible: false
+        },
+        methods: {
+            handleAvatarSuccess(res, file) {
+                file.url =file.response
+                TCarInfoDlg.goodsPicArray1.push(file);
+            },
+            changeImg(){
+                var i = id.split(",")
+                for (let j = 0; j <i.length; j++) {
+                    let obj={
+                        fileName:i[j],
+                        uuid:i[j],
+                        url:i[j],
+                        response:i[j],
+                    }
+                    this.imageUrl2.push(obj)
+
+                }
+            },
+            beforeAvatarUpload(file) {
+                const isLt2M = file.size / 1024 / 1024 < 10;
+                if (!isLt2M) {
+                    this.$message.error('上传图片大小不能超过 10MB!');
+                }
+                return isLt2M;
+            },
+            handleRemove(file, fileList) {
+                TCarInfoDlg.goodsPicArray1 = TCarInfoDlg.goodsPicArray1.filter(item => {
+                    return item.uid != file.uid;
+                });
+            },
+        },
+        created() {
+            this.changeImg()
+            TCarInfoDlg.goodsPicArray1 = this.imageUrl2
+        },
+    });
+
+
     window.onload = function() {
         if($("#type").val()==1){
             $("#types").html("未开始").css("color","goldenrod")
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetitionAudit/TCompetition_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetitionAudit/TCompetition_edit.html
index 9d8a0cf..9f0ca04 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetitionAudit/TCompetition_edit.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetitionAudit/TCompetition_edit.html
@@ -1,4 +1,4 @@
-@layout("/common/_container.html"){
+    @layout("/common/_container.html"){
 <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script>
 <div class="ibox float-e-margins">
     <div class="ibox-content">
@@ -131,7 +131,16 @@
             </div>
 
             <#avatar id="coverDrawing" name="赛事封面(推荐像素:210*280px):" avatarImg="${item.coverDrawing}" />
-            <#avatar id="imgs" name="赛事图片(推荐像素:780*440px):" />
+            <div class="form-group">
+                <label class="col-sm-3 control-label head-scu-label">赛事图片(推荐像素:780*440px):</label>
+                <div class="col-sm-4">
+                    <div id="imgsPreId">
+                        @for(i in imgs){
+                        <img width="100px" height="100px" id="img" src="${i}">
+                        @}
+                    </div>
+                </div>
+            </div>
             <#avatar id="registrationNotes" name="报名须知(推荐像素:宽780px):"  avatarImg="${item.registrationNotes}"/>
 
             <div class="form-group">
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js
index 9972130..b710045 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js
@@ -4,6 +4,7 @@
 var language=1;
 var TCarInfoDlg = {
     tCarInfoData : {},
+    goodsPicArray1:[],
     validateFields: {
         carBrandId: {
             validators: {
@@ -214,6 +215,21 @@
         return;
     }
 
+    var goodImgs = TCarInfoDlg.goodsPicArray1;
+    if(goodImgs.length==0){
+        Feng.info("请上传赛事活动图片")
+        return;
+    }
+    var imgOne ="";
+    for (let i = 0; i <goodImgs.length; i++) {
+        if(i==goodImgs.length-1){
+            imgOne += (goodImgs[i].response)
+        }else {
+            imgOne+=(goodImgs[i].response+",")
+        }
+
+    }
+
     var coverDrawing = $("#coverDrawing").val();
     var coverDrawing = $("#coverDrawing").val();
     var registrationNotes = $("#registrationNotes").val()
@@ -259,7 +275,7 @@
     ajax.set("realName",realName);
     ajax.set("coverDrawing",coverDrawing);
     ajax.set("introduction",introduction);
-    ajax.set("imgs",introduction);
+    ajax.set("imgs",imgOne);
     ajax.set("registrationNotes",registrationNotes);
     ajax.set("longitude", $("#longitude").val());
     ajax.set("latitude", $("#latitude").val());
@@ -305,7 +321,6 @@
         return;
     }
     var registerEndTime = $("#registerEndTime").val();
-    let registerCondition = document.querySelector('input[name="registerCondition"]:checked').value;
     var startAge = $("#startAge").val();
     var endAge = $("#endAge").val();
     var cashPrice = $("#cashPrice").val();
@@ -328,6 +343,26 @@
         Feng.info("请输入赛事简介");
         return;
     }
+
+    var goodImgs = TCarInfoDlg.goodsPicArray1;
+
+    if(goodImgs.length==0){
+        Feng.info("请上传赛事活动图片")
+        return;
+    }
+    var imgOne ="";
+    console.log(goodImgs)
+    console.log(goodImgs.length)
+    for (let i = 0; i <goodImgs.length; i++) {
+        console.log(goodImgs[i].response,11)
+        if(i==goodImgs.length-1){
+            imgOne += (goodImgs[i].response)
+        }else {
+            imgOne+=(goodImgs[i].response+",")
+        }
+
+    }
+    console.log(imgOne)
 
     var coverDrawing = $("#coverDrawing").val();
     var coverDrawing = $("#coverDrawing").val();
@@ -358,7 +393,6 @@
     ajax.set("sTime",startTime);
     ajax.set("eTime",endTime);
     ajax.set("rEndTime",registerEndTime);
-    ajax.set("registerCondition",registerCondition);
     ajax.set("startAge",startAge);
     ajax.set("endAge",endAge);
     ajax.set("cashPrice",cashPrice);
@@ -370,7 +404,7 @@
     ajax.set("realName",realName);
     ajax.set("coverDrawing",coverDrawing);
     ajax.set("introduction",introduction);
-    ajax.set("imgs",introduction);
+    ajax.set("imgs",imgOne);
     ajax.set("registrationNotes",registrationNotes);
     ajax.set("longitude", $("#longitude").val());
     ajax.set("latitude", $("#latitude").val());
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java
index 025c33d..2f445f8 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java
@@ -39,7 +39,7 @@
             return ResultUtil.paranErr("storeId");
         }
         try {
-            List<StoreConfig> list = storeConfigService.list(new QueryWrapper<StoreConfig>().eq("storeId", storeId).orderByAsc("sort"));
+            List<StoreConfig> list = storeConfigService.list(new QueryWrapper<StoreConfig>().eq("storeId", storeId).orderByAsc("sort").eq("isOpen",1));
             List<StoreConfigVo> listVo = new ArrayList<>();
             for (StoreConfig storeConfig : list) {
                 StoreConfigVo storeConfigVo = new StoreConfigVo();
diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/TGameConfig.java b/cloud-server-other/src/main/java/com/dsh/other/entity/TGameConfig.java
index a25f44a..79e909a 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/entity/TGameConfig.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/entity/TGameConfig.java
@@ -61,6 +61,8 @@
      */
     @TableField("gameId")
     private Integer gameId;
+    @TableField("otherId")
+    private Integer otherId;
 
 
     @Override
diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/TStoreOtherConfigTrue.java b/cloud-server-other/src/main/java/com/dsh/other/entity/TStoreOtherConfigTrue.java
index 7492083..f0cfac2 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/entity/TStoreOtherConfigTrue.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/entity/TStoreOtherConfigTrue.java
@@ -33,7 +33,8 @@
     /**
      * 图片
      */
-    private String url;
+    @TableField("url")
+    private String backgroundImage;
 
     /**
      * 跳转模块

--
Gitblit v1.7.1