From 2e4640768bec302ed465c9c17002df842c96ee96 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期二, 10 十月 2023 15:28:37 +0800
Subject: [PATCH] 后台代码

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/RechargeRecordsQuery.java               |    1 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/ticket/ticket_add.html                              |    2 
 cloud-server-management/src/main/java/com/dsh/course/feignClient/account/FinanceClient.java                     |    6 
 cloud-server-account/src/main/java/com/dsh/account/model/IncomeQuery.java                                       |    2 
 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java                 |   21 
 cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/CompetitionQuery.java        |    5 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TDiscountController.java      |    4 
 cloud-server-account/src/main/java/com/dsh/account/controller/FinanceController.java                            |   21 +
 cloud-server-account/src/main/java/com/dsh/account/mapper/RechargeRecordsMapper.java                            |    2 
 cloud-server-course/src/main/java/com/dsh/course/model/RegisterOrderQuery.java                                  |    1 
 cloud-server-competition/src/main/java/com/dsh/competition/model/CompetitionQuery.java                          |    2 
 cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java                       |    3 
 cloud-server-course/src/main/java/com/dsh/course/entity/TAppUser.java                                           |   11 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/IncomeQuery.java                        |    2 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java |   89 ++++-
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java       |    3 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/CoursePackage.java                  |  180 +++++++++++
 cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/RechargeRecords.java             |   89 +++++
 cloud-server-account/src/main/java/com/dsh/account/model/query/RechargeRecordsQuery.java                        |    1 
 cloud-server-account/src/main/resources/mapper/RechargeRecordsMapper.xml                                        |    9 
 cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java                               |    7 
 cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java                 |    2 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html                  |  496 ++++++++++++++----------------
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/RegisterOrderQuery.java                 |    1 
 24 files changed, 649 insertions(+), 311 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/FinanceController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/FinanceController.java
index a3e5662..cc1c78b 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/FinanceController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/FinanceController.java
@@ -4,16 +4,14 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.dsh.account.entity.CoachType;
 import com.dsh.account.entity.RechargeRecords;
+import com.dsh.account.entity.TAppUser;
 import com.dsh.account.entity.VipPayment;
 import com.dsh.account.model.IncomeQuery;
 import com.dsh.account.model.query.RechargeRecordsQuery;
 import com.dsh.account.model.query.coachQuery.CoachQuery;
 import com.dsh.account.model.vo.CoachSerchVO;
 import com.dsh.account.model.vo.RechargeRecordsVO;
-import com.dsh.account.service.CoachService;
-import com.dsh.account.service.CoachTypeService;
-import com.dsh.account.service.IVipPaymentService;
-import com.dsh.account.service.RechargeRecordsService;
+import com.dsh.account.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -31,7 +29,8 @@
     private RechargeRecordsService rechargeRecordsService;
     @Autowired
     private IVipPaymentService vipPaymentService;
-
+    @Autowired
+    private TAppUserService appUserService;
 
     /**
      * 充值记录列表数据
@@ -42,6 +41,18 @@
         return  rechargeRecordsService.rechargeList(query);
     }
     /**
+     * 数据统计-充值记录列表数据
+     */
+    @ResponseBody
+    @RequestMapping("/finance/rechargeList1")
+    public List<RechargeRecords> rechargeList1(@RequestBody RechargeRecordsQuery query){
+        List<RechargeRecords> payStatus = rechargeRecordsService.list(new QueryWrapper<RechargeRecords>().eq("payStatus", 2));
+        for (RechargeRecords list : payStatus) {
+            TAppUser byId = appUserService.getById(list.getAppUserId());
+        }
+        return payStatus;
+    }
+    /**
      * 加入会员列表数据
      */
     @ResponseBody
diff --git a/cloud-server-account/src/main/java/com/dsh/account/mapper/RechargeRecordsMapper.java b/cloud-server-account/src/main/java/com/dsh/account/mapper/RechargeRecordsMapper.java
index 42f2e2d..bb0143e 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/mapper/RechargeRecordsMapper.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/mapper/RechargeRecordsMapper.java
@@ -22,6 +22,6 @@
 public interface RechargeRecordsMapper extends BaseMapper<RechargeRecords> {
 
     List<RechargeRecordsVO> rechargeList(@Param("query") RechargeRecordsQuery query,@Param("sTime")String sTime,@Param("eTime")String eTime);
-    List<VipPayment> listAll(@Param("query") IncomeQuery query, @Param("sTime")String sTime, @Param("eTime")String eTime, @Param("amount") BigDecimal amount);
+    List<VipPayment> listAll(@Param("query") IncomeQuery query, @Param("sTime")String sTime, @Param("eTime")String eTime, @Param("amount") BigDecimal amount,@Param("insertType")Integer insertType);
 
 }
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/IncomeQuery.java b/cloud-server-account/src/main/java/com/dsh/account/model/IncomeQuery.java
index 0806803..6a56c86 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/model/IncomeQuery.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/IncomeQuery.java
@@ -20,5 +20,5 @@
     private BigDecimal amount;
     // 用户ids
     private List<Integer> userIds;
-
+    private Integer insertType;
 }
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/query/RechargeRecordsQuery.java b/cloud-server-account/src/main/java/com/dsh/account/model/query/RechargeRecordsQuery.java
index 466050c..f0db8f8 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/model/query/RechargeRecordsQuery.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/query/RechargeRecordsQuery.java
@@ -21,4 +21,5 @@
     private Integer type;
     private List<Integer> userIds;
     private BigDecimal amount;
+    private Integer insertType;
 }
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java
index 242d614..01d206d 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java
@@ -376,7 +376,7 @@
             STime = query.getTime().split(" - ")[0] + " 00:00:00";
             ETime = query.getTime().split(" - ")[1] + " 23:59:59";
         }
-        return rechargeRecordsMapper.listAll(query,STime,ETime,query.getAmount());
+        return rechargeRecordsMapper.listAll(query,STime,ETime,query.getAmount(),query.getInsertType());
     }
     public static <T> List<T> pageList(List<T> list, int pageNum, int pageSize) {
         //计算总页数
diff --git a/cloud-server-account/src/main/resources/mapper/RechargeRecordsMapper.xml b/cloud-server-account/src/main/resources/mapper/RechargeRecordsMapper.xml
index 6317187..7792f19 100644
--- a/cloud-server-account/src/main/resources/mapper/RechargeRecordsMapper.xml
+++ b/cloud-server-account/src/main/resources/mapper/RechargeRecordsMapper.xml
@@ -5,9 +5,13 @@
 
     <select id="rechargeList" resultType="com.dsh.account.model.vo.RechargeRecordsVO">
         select t1.* from t_recharge_records t1
+        left join t_app_user t2 on t1.appUserId = t2.id
         <where>
             <if test="query.amount!=null and query.amount!= ''">
                 and t1.amount &lt;= #{query.amount}
+            </if>
+            <if test="query.insertType!=null and query.insertType!= ''">
+                and t2.insertType = #{query.insertType}
             </if>
             <if test="query.name!=null and query.name!= ''">
                 AND t1.name LIKE concat('%',#{query.name},'%')
@@ -28,10 +32,14 @@
     </select>
     <select id="listAll" resultType="com.dsh.account.entity.VipPayment">
         select t1.* from t_vip_payment t1
+        left join t_app_user t2 on t1.appUserId = t2.id
         <where>
         <if test="amount!=null and amount!= ''">
             and t1.amount &lt;= #{amount}
         </if>
+            <if test="query.insertType!=null and query.insertType!= ''">
+            and t2.insertType = #{query.insertType}
+         </if>
         <if test="query.userIds != null and query.userIds.size()>0">
             AND t1.appUserId IN
             <foreach collection="query.userIds" separator="," item="id" open="(" close=")">
@@ -41,6 +49,7 @@
         <if test="sTime !=null and sTime!= '' and eTime !=null and eTime!= ''">
             and t1.insertTime between #{sTime} and #{eTime}
         </if>
+        and t1.payStatus = 2
         </where>
     </select>
 </mapper>
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/model/CompetitionQuery.java b/cloud-server-competition/src/main/java/com/dsh/competition/model/CompetitionQuery.java
index 8b15910..1f58786 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/model/CompetitionQuery.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/model/CompetitionQuery.java
@@ -16,5 +16,5 @@
     private BigDecimal amount;
     // 用户ids
     private List<Integer> userIds;
-
+    private Integer insertType;
 }
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 b3aa303..e4b4470 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
@@ -454,6 +454,13 @@
         TCoursePackage byId1 = coursePackageService.getById(byId.getCoursePackageId());
         return byId1;
     }
+    @ResponseBody
+    @PostMapping("/course/queryByDiscountId1")
+    public TCoursePackage queryByDiscountId1(@RequestBody Integer id){
+        TCoursePackageDiscount byId = discountService.getById(id);
+        TCoursePackage byId1 = coursePackageService.getById(byId.getCoursePackageId());
+        return byId1;
+    }
 
 
     @PostMapping("/course/queryDiscountById")
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 2f691bb..58d8396 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
@@ -370,15 +370,18 @@
 
         List<RegisterOrderVO> res = packagePaymentService.listAllRegister(query);
         List<RegisterOrderVO> result = new ArrayList<>();
-        for (RegisterOrderVO re : res) {
-            if(re.getSalesName()==null){
+        Iterator<RegisterOrderVO> iterator = res.iterator();
+        while (iterator.hasNext()) {
+            RegisterOrderVO re = iterator.next();
+
+            if (re.getSalesName() == null) {
                 re.setSalesName("无");
             }
-            if(re.getPayType()!=null){
-                if (re.getPayType() == 3){
-                    re.setPayMoneyAndType(re.getPlayPaiCoin()+"玩湃币");
-                }else{
-                    re.setPayMoneyAndType("¥"+re.getMoney());
+            if (re.getPayType() != null) {
+                if (re.getPayType() == 3) {
+                    re.setPayMoneyAndType(re.getPlayPaiCoin() + "玩湃币");
+                } else {
+                    re.setPayMoneyAndType("¥" + re.getMoney());
                 }
             }
             Store store = storeClient.queryStoreById(re.getStoreId());
@@ -388,6 +391,10 @@
             re.setPayUser(appUser.getName());
             re.setPhone(appUser.getPhone());
             re.setStoreName(store.getName());
+            // 在这里添加条件来删除不满足要求的元素
+            if (appUser.getInsertType() != query.getInsertType()) {
+                iterator.remove(); // 使用迭代器的 remove 方法删除元素
+            }
         }
         return res;
     }
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/TAppUser.java b/cloud-server-course/src/main/java/com/dsh/course/entity/TAppUser.java
index edd1d68..b657d88 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/entity/TAppUser.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/TAppUser.java
@@ -160,6 +160,15 @@
     @TableField("insertTime")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date insertTime;
-
+    /**
+     * 添加人类型 1 = 平台添加 2 = 运营商添加 3 = 门店添加
+     */
+    @TableField("insertType")
+    private Integer insertType;
+    /**
+     * 添加人ID
+     */
+    @TableField("headImg")
+    private Integer addUserId;
 
 }
diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/RegisterOrderQuery.java b/cloud-server-course/src/main/java/com/dsh/course/model/RegisterOrderQuery.java
index e264e88..456dcd0 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/model/RegisterOrderQuery.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/model/RegisterOrderQuery.java
@@ -37,4 +37,5 @@
     private Integer orderSource;
     // 订单金额
     private BigDecimal amount;
+    private Integer insertType;
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/FinanceClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/FinanceClient.java
index d92e119..c64a996 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/FinanceClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/FinanceClient.java
@@ -1,6 +1,7 @@
 package com.dsh.course.feignClient.account;
 
 import com.dsh.course.feignClient.account.model.CoachType;
+import com.dsh.course.feignClient.account.model.RechargeRecords;
 import com.dsh.guns.modular.system.model.RechargeRecordsQuery;
 import com.dsh.guns.modular.system.model.RechargeRecordsVO;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -23,4 +24,9 @@
      */
     @RequestMapping("/finance/rechargeList")
      List<RechargeRecordsVO> rechargeList(@RequestBody RechargeRecordsQuery query);
+    /**
+     * 数据统计-充值记录列表数据
+     */
+    @RequestMapping("/finance/rechargeList1")
+    List<RechargeRecords> rechargeList1(@RequestBody RechargeRecordsQuery query);
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/RechargeRecords.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/RechargeRecords.java
new file mode 100644
index 0000000..c921314
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/RechargeRecords.java
@@ -0,0 +1,89 @@
+package com.dsh.course.feignClient.account.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * <p>
+ * 充值记录
+ * </p>
+ *
+ * @author jqs
+ * @since 2023-07-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_recharge_records")
+public class RechargeRecords extends Model<RechargeRecords> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.NONE)
+    private Long id;
+    /**
+     * 流水号
+     */
+    @TableField("code")
+    private String code;
+    /**
+     * 用户id
+     */
+    @TableField("appUserId")
+    private Integer appUserId;
+    /**
+     * 充值金额
+     */
+    @TableField("amount")
+    private BigDecimal amount;
+    /**
+     * 玩湃币
+     */
+    @TableField("playPaiCoins")
+    private Integer playPaiCoins;
+    /**
+     * 支付状态(1=待支付,2=已支付)
+     */
+    @TableField("payStatus")
+    private Integer payStatus;
+    /**
+     * 支付时间
+     */
+    @TableField("payTime")
+    private Date payTime;
+    /**
+     * 第三方支付流水号
+     */
+    @TableField("orderNumber")
+    private String orderNumber;
+    /**
+     * 状态(1=正常,2=冻结,3=删除)
+     */
+    @TableField("state")
+    private Integer state;
+    /**
+     * 添加时间
+     */
+    @TableField("insertTime")
+    private Date insertTime;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/CompetitionQuery.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/CompetitionQuery.java
index 2076d71..ba14285 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/CompetitionQuery.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/CompetitionQuery.java
@@ -1,5 +1,6 @@
 package com.dsh.course.feignClient.competition.model;
 
+import io.swagger.models.auth.In;
 import lombok.Data;
 
 import java.math.BigDecimal;
@@ -16,5 +17,7 @@
     private BigDecimal amount;
     // 用户ids
     private List<Integer> userIds;
-
+    // 筛选是平台 还是运营商 还是门店
+    private Integer type;
+    private Integer insertType;
 }
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 1b0ae84..2908ad2 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
@@ -5,6 +5,7 @@
 import com.dsh.course.feignClient.course.model.*;
 import com.dsh.course.model.AuditDiscount;
 import com.dsh.guns.modular.system.model.*;
+import com.dsh.guns.modular.system.model.dto.CoursePackage;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -113,6 +114,8 @@
 
     @PostMapping("/course/queryByDiscountId")
     TCoursePackage queryByDiscountId(Integer id);
+    @PostMapping("/course/queryByDiscountId1")
+    CoursePackage queryByDiscountId1(Integer id);
 
 
     @PostMapping("/course/queryDiscountById")
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 fcaffb4..ee41af0 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,10 +3,7 @@
 import cn.hutool.core.date.DateUtil;
 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.account.model.*;
 import com.dsh.course.feignClient.activity.PointMercharsClient;
 import com.dsh.course.feignClient.competition.CompetitionClient;
 import com.dsh.course.feignClient.competition.model.Competition;
@@ -114,7 +111,7 @@
      */
     @RequestMapping(value = "/getIncomeData")
     @ResponseBody
-    public Object getIncomeData(Integer type) {
+    public Object getIncomeData(Integer operatorId,Integer storeId) {
         // 充值记录查询query
         RechargeRecordsQuery rechargeRecordsQuery = new RechargeRecordsQuery();
         // 报名课程查询query
@@ -126,6 +123,12 @@
         // 场地预约记录查询query
         SiteBookingQuery siteBookingQuery = new SiteBookingQuery();
         Integer roleType = UserExt.getUser().getObjectType();
+        rechargeRecordsQuery.setInsertType(roleType);
+                       query.setInsertType(roleType);
+            competitionQuery.setInsertType(roleType);
+                 incomeQuery.setInsertType(roleType);
+                 incomeQuery.setInsertType(roleType);
+
         IncomeVO incomeVO = new IncomeVO();
         List<IncomeVO> incomeVOS = new ArrayList<>();
                 // 会员支付记录
@@ -142,6 +145,7 @@
                 }
                 // 充值记录
                 List<RechargeRecordsVO> rechargeRecordsVOS = financeClient.rechargeList(rechargeRecordsQuery);
+        List<RechargeRecords> rechargeRecords = financeClient.rechargeList1(rechargeRecordsQuery);
                 for (RechargeRecordsVO rechargeRecordsVO : rechargeRecordsVOS) {
                     IncomeVO temp = new IncomeVO();
                     temp.setInsertTime(rechargeRecordsVO.getInsertTime());
@@ -223,8 +227,8 @@
             // 累加到总金额
             totalAmount1 = totalAmount1.add(total);
 
-            Date insertTime = incomeVO1.getInsertTime(); // 假设有一个方法用于获取 insertTime
-            BigDecimal amount1 = incomeVO1.getAmount(); // 假设有一个方法用于获取 amount
+            Date insertTime = incomeVO1.getInsertTime();
+            BigDecimal amount1 = incomeVO1.getAmount();
             Calendar calendar = Calendar.getInstance();
             calendar.setTime(insertTime);
             int year = calendar.get(Calendar.YEAR); // 获取年份
@@ -242,8 +246,13 @@
         Collections.sort(sortedYears);
         // 创建一个新的 IncomeVO 列表,包含按年份累计的 amount
         List<Object> resultIncomeVOS = new ArrayList<>();
-        // 循环遍历2023年到2028年的年份
-        for (int year = 2023; year <= 2028; year++) {
+        // 当前年往前推十年
+        List<Integer> integers1 = new ArrayList<>();
+        int years = DateUtil.year(new Date());
+        for (int i = 0; i < 10; i++) {
+            integers1.add(years-i);
+        }
+        for (int year = integers1.get(0); year >= integers1.get(integers1.size()-1); year++) {
             BigDecimal totalAmount = yearToTotalAmountMap.getOrDefault(year, BigDecimal.ZERO);
             // 创建一个新的 IncomeVO 对象,并设置年份和累计金额
             IncomeVO resultIncomeVO = new IncomeVO();
@@ -276,20 +285,55 @@
         int currentMonth = currentDate.getMonthValue();
         // 初始化一个长度为当前月份的天数的列表,并将每一天的金额初始化为零
         int daysInCurrentMonth = currentDate.lengthOfMonth();
-        List<BigDecimal> weekAmount = new ArrayList<>(daysInCurrentMonth);
-        for (int i = 0; i < daysInCurrentMonth; i++) {
-            weekAmount.add(BigDecimal.ZERO);
-        }
+        List<BigDecimal> weekAmount = new ArrayList<>();
+
+        // 获取最近四周
+        LocalDateTime minNow = LocalDateTime.now().with(LocalTime.MIN);
+        LocalDateTime maxNow = LocalDateTime.now().with(LocalTime.MAX);
+        // 周度数据
+        LocalDateTime week1Start = minNow.minusDays(6);
+        LocalDateTime week1End = maxNow;
+
+        LocalDateTime week2Start = minNow.minusDays(13);
+        LocalDateTime week2End = minNow.minusDays(7);
+
+        LocalDateTime week3Start = minNow.minusDays(20);
+        LocalDateTime week3End = minNow.minusDays(14);
+
+        LocalDateTime week4Start = minNow.minusDays(27);
+        LocalDateTime week4End = minNow.minusDays(21);
+        // 用于存放四个周的数据
+        List<Object> objects1 = new ArrayList<>();
+        // 计算每个周的amount总和
+        BigDecimal tAmount1 = BigDecimal.ZERO;
+        BigDecimal tAmount2 = BigDecimal.ZERO;
+        BigDecimal tAmount3 = BigDecimal.ZERO;
+        BigDecimal tAmount4 = BigDecimal.ZERO;
         for (IncomeVO incomeVO1 : incomeVOS) {
-            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-            String string = dateFormat.format(incomeVO1.getInsertTime());
-            LocalDate insertDate = LocalDate.parse(string, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
-            if (insertDate.getMonthValue() == currentMonth) {
-                int dayOfMonth = insertDate.getDayOfMonth();
-                BigDecimal currentAmount = weekAmount.get(dayOfMonth - 1); // 列表索引从0开始
-                weekAmount.set(dayOfMonth - 1, currentAmount.add(incomeVO1.getAmount()));
+            Date insertTime = incomeVO1.getInsertTime();
+            // 将Date转换为LocalDateTime
+            Instant instant = insertTime.toInstant();
+            ZoneId zoneId = ZoneId.systemDefault();
+            LocalDateTime dateTime = instant.atZone(zoneId).toLocalDateTime();
+            // 判断该数据属于哪个周
+            if (dateTime.isAfter(week1Start) && dateTime.isBefore(week1End)) {
+                BigDecimal amount1 = incomeVO1.getAmount();
+                tAmount1=tAmount1.add(amount1);
+            } else if (dateTime.isAfter(week2Start) && dateTime.isBefore(week2End)) {
+                BigDecimal amount1 = incomeVO1.getAmount();
+                tAmount2=tAmount2.add(amount1);
+            } else if (dateTime.isAfter(week3Start) && dateTime.isBefore(week3End)) {
+                BigDecimal amount1 = incomeVO1.getAmount();
+                tAmount4=tAmount3.add(amount1);
+            } else if (dateTime.isAfter(week4Start) && dateTime.isBefore(week4End)) {
+                BigDecimal amount1 = incomeVO1.getAmount();
+                tAmount4=tAmount4.add(amount1);
             }
         }
+        weekAmount.add(tAmount1);
+        weekAmount.add(tAmount2);
+        weekAmount.add(tAmount3);
+        weekAmount.add(tAmount4);
         monthlyData.put("weekIncome", Collections.singletonList(weekAmount));
 
         LocalDateTime currentDateTime = LocalDateTime.now();
@@ -311,11 +355,6 @@
         }
 
         monthlyData.put("dayIncome", Collections.singletonList(amountByDay));
-        // 创建一个 Map 用于存储今年本周的累计 amount
-        Map<Integer, BigDecimal> dayToTotalAmountMap = new HashMap<>();
-        BigDecimal yearAmount = BigDecimal.ZERO; // 初始化累加变量为0
-        BigDecimal monthAmount = BigDecimal.ZERO; // 初始化累加变量为0
-        BigDecimal todayAmount = BigDecimal.ZERO; // 初始化累加变量为0
         // 获取当前日期和时间
         LocalDateTime now = LocalDateTime.now();
         // 今年的起始日期和结束日期
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java
index aa3447b..b8bdf86 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java
@@ -230,7 +230,6 @@
         user.setName(userName);
         user.setPhone(phone);
         user.setObjectType(2);
-        userService.save(user);
         TOperator data = new TOperator();
         data.setUserId(user.getId());
         data.setName(name);
@@ -238,6 +237,8 @@
         data.setStatus(1);
         data.setState(1);
         operatorService.save(data);
+        user.setObjectId(data.getId());
+        userService.save(user);
         if (SinataUtil.isNotEmpty(comArr)){
             JSONArray jsonArray = JSON.parseArray(comArr);
             int size = jsonArray.size();
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TDiscountController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TDiscountController.java
index 3414c9e..8f39ecc 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TDiscountController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TDiscountController.java
@@ -20,6 +20,7 @@
 import com.dsh.guns.modular.system.model.DiscountUpdateState;
 import com.dsh.guns.modular.system.model.TCity;
 import com.dsh.guns.modular.system.model.TStore;
+import com.dsh.guns.modular.system.model.dto.CoursePackage;
 import com.dsh.guns.modular.system.service.ICityService;
 import com.dsh.guns.modular.system.service.ICoursePackageService;
 import com.dsh.guns.modular.system.service.IStoreService;
@@ -62,9 +63,6 @@
 
     @Autowired
     private CourseClient courseClient;
-
-
-
 
     /**
      * 跳转到车辆管理首页
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/IncomeQuery.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/IncomeQuery.java
index 1d65760..ca01165 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/IncomeQuery.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/IncomeQuery.java
@@ -20,5 +20,5 @@
     private BigDecimal amount;
     // 用户ids
     private List<Integer> userIds;
-
+    private Integer insertType;
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/RechargeRecordsQuery.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/RechargeRecordsQuery.java
index 1f66a7a..77c4dd9 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/RechargeRecordsQuery.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/RechargeRecordsQuery.java
@@ -22,4 +22,5 @@
     private Integer type;
     private List<Integer> userIds;
     private BigDecimal amount;
+    private Integer insertType;
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/RegisterOrderQuery.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/RegisterOrderQuery.java
index 91151ee..f7d5213 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/RegisterOrderQuery.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/RegisterOrderQuery.java
@@ -36,4 +36,5 @@
     private Integer orderSource;
     // 订单金额
     private BigDecimal amount;
+    private Integer insertType;
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/CoursePackage.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/CoursePackage.java
new file mode 100644
index 0000000..318b7d5
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/CoursePackage.java
@@ -0,0 +1,180 @@
+package com.dsh.guns.modular.system.model.dto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.dsh.course.feignClient.course.model.TCoursePackage;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 课包
+ * </p>
+ *
+ * @author administrator
+ * @since 2023-06-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_course_package")
+public class CoursePackage{
+
+
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+    /**
+     * 省
+     */
+    @TableField("province")
+    private String province;
+    /**
+     * 省编号
+     */
+    @TableField("provinceCode")
+    private String provinceCode;
+    /**
+     * 市
+     */
+    @TableField("city")
+    private String city;
+    /**
+     * 市编号
+     */
+    @TableField("cityCode")
+    private String cityCode;
+    /**
+     * 门店id
+     */
+    @TableField("storeId")
+    private Integer storeId;
+    /**
+     * 课包类型id
+     */
+    @TableField("coursePackageTypeId")
+    private Integer coursePackageTypeId;
+    /**
+     * 课包名称
+     */
+    @TableField("name")
+    private String name;
+    /**
+     * 上课场地id
+     */
+    @TableField("siteId")
+    private Integer siteId;
+    /**
+     * 教练id
+     */
+    @TableField("coachId")
+    private Integer coachId;
+    /**
+     * 最多预约人数
+     */
+    @TableField("maxSubscribeNumber")
+    private Integer maxSubscribeNumber;
+
+    @TableField("codeTime")
+    private Integer codeTime;
+    /**
+     * 上课开始时间
+     */
+    @TableField("classStartTime")
+    private String classStartTime;
+    /**
+     * 上课结束时段
+     */
+    @TableField("classEndTime")
+    private String classEndTime;
+    /**
+     * 上课周,多个分号分隔
+     */
+    @TableField("classWeeks")
+    private String classWeeks;
+    /**
+     * 封面图
+     */
+    @TableField("coverDrawing")
+    private String coverDrawing;
+    /**
+     * 详情图
+     */
+    @TableField("detailDrawing")
+    private String detailDrawing;
+    /**
+     * 介绍图
+     */
+    @TableField("introduceDrawing")
+    private String introduceDrawing;
+    /**
+     * 排序
+     */
+    @TableField("sort")
+    private Integer sort;
+    /**
+     * 支付方式(1=现金,2=玩湃币)
+     */
+    @TableField("payType")
+    private Integer payType;
+    /**
+     * 有效天数
+     */
+    @TableField("validDays")
+    private Integer validDays;
+    /**
+     * 课程状态(1=未开始,2=进行中,3=已结束,4=已取消)
+     */
+    @TableField("status")
+    private Integer status;
+    /**
+     * 审核状态(1=待审核,2=已同意,3=已拒绝)
+     */
+    @TableField("auditStatus")
+    private Integer auditStatus;
+    /**
+     * 审核人id
+     */
+    @TableField("auditUserId")
+    private Integer auditUserId;
+    /**
+     * 审核备注
+     */
+    @TableField("authRemark")
+    private String authRemark;
+    /**
+     * 状态(1=正常,2=冻结,3=删除)
+     */
+    @TableField("state")
+    private Integer state;
+    /**
+     * 添加时间
+     */
+    @TableField("insertTime")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date insertTime;
+    @TableField("type")
+    private Integer type;
+    @TableField("needNum")
+    private Integer needNum;
+
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField("startTime")
+    private Date startTime;
+
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField("endTime")
+    private Date endTime;
+}
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 411caab..b600121 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,21 +61,23 @@
                         <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">
                                 <div class="col-sm-10">
                                     <h2>营收数据</h2>
                                     </br>
-                                        <div id = "money1" style="width: 1500px" >
-                                            &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;&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 id="totalIncome">总营收:</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-                                            <span id="yearIncome">本年度营收:</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-                                            <span id="monthIncome">本月度营收:</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-                                            <span id="weekIncome">本周营收:</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-                                            <span id="todayIncome">本日营收:</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-                                            </br>
-                                            </br>
-                                        </div>
+                                    <div id = "money1" style="width: 1500px" >
+                                        &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;&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 id="totalIncome">总营收:</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                                        <span id="yearIncome">本年度营收:</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                                        <span id="monthIncome">本月度营收:</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                                        <span id="weekIncome">本周营收:</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                                        <span id="todayIncome">本日营收:</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                                        </br>
+                                        </br>
+                                    </div>
                                     <div id="main" style="width: 1280px;height:500px;"></div>
                                 </div>
                                 <div class="col-sm-10">
@@ -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,12 +252,140 @@
             </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 = ["1","2","上周","本周"];
+    var weekX = ["1周","2周","3周","4周"];
     var monthX = ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"];
     var yearX = [];
     var timeX = [];
@@ -281,7 +422,6 @@
         getContent(1);
         getContent1(1);
         getContent2(1);
-
         var ajax = new $ax(Feng.ctxPath + "/data/getIncomeData", function(resp){
             yearX=resp.year
 
@@ -301,10 +441,10 @@
             var year =  resp.yearIncome;
             var month =  resp.monthIncome;
             var week =  resp.weekIncome;
+            console.log("周度营收")
+            console.log(year)
+            console.log(week)
             var days = week[0].length;
-            for (let i = 1; i <= days; i++) {
-                weekX.push(i);
-            }
             var day =  resp.dayIncome;
             option  = {
                 tooltip: {
@@ -361,11 +501,6 @@
                         stack: 'Total',
                         data: [
                             week[0][0], week[0][1], week[0][2], week[0][3], week[0][4]
-                            , week[0][5], week[0][6], week[0][7], week[0][8], week[0][9]
-                            , week[0][10], week[0][11], week[0][12], week[0][13], week[0][14]
-                            , week[0][15], week[0][16], week[0][17], week[0][18], week[0][19], week[0][20]
-                            , week[0][21], week[0][22], week[0][23], week[0][24], week[0][25], week[0][26]
-                            , week[0][27], week[0][28], week[0][29], week[0][30], week[0][31]
                         ]
                     },
                     {
@@ -647,138 +782,6 @@
                 }
             ]
         };
-        option5 = {
-            tooltip: {
-                trigger: 'axis'
-            },
-            legend: {
-                data: ['年度次数', '月度次数']
-            },
-            grid: {
-                left: '3%',
-                right: '4%',
-                bottom: '3%',
-                containLabel: true
-            },
-            toolbox: {
-                feature: {
-                    saveAsImage: {}
-                }
-            },
-            xAxis: {
-                type: 'category',
-                boundaryGap: false,
-                data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
-            },
-            yAxis: {
-                type: 'value'
-            },
-            series: [
-                {
-                    name: '年度次数',
-                    type: 'line',
-                    stack: 'Total',
-                    data: [120, 132, 101, 394, 980, 2380, 1680, 1190, 1410, 1330, 2110, 1330]
-                },
-                {
-                    name: '月度次数',
-                    type: 'line',
-                    stack: 'Total',
-                    data: [120, 182, 211, 324, 120, 130, 310, 290, 220, 130, 240, 150]
-                }
-            ]
-        };
-        option6  = {
-            tooltip: {
-                trigger: 'axis'
-            },
-            legend: {
-                data: ['年度学员数', '月度学员数', '周度学员数', '日度学员数']
-            },
-            grid: {
-                left: '3%',
-                right: '4%',
-                bottom: '3%',
-                containLabel: true
-            },
-            toolbox: {
-                feature: {
-                    saveAsImage: {}
-                }
-            },
-            xAxis: {
-                type: 'category',
-                boundaryGap: false,
-                data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
-            },
-            yAxis: {
-                type: 'value'
-            },
-            series: [
-                {
-                    name: '年度学员数',
-                    type: 'line',
-                    stack: 'Total',
-                    data: [120, 132, 101, 134, 90, 230, 160, 190, 410, 330, 210, 330]
-                },
-                {
-                    name: '月度学员数',
-                    type: 'line',
-                    stack: 'Total',
-                    data: [220, 182, 191, 234, 290, 330, 310, 190, 210, 330, 410, 160]
-                },
-                {
-                    name: '周度学员数',
-                    type: 'line',
-                    stack: 'Total',
-                    data: [150, 232, 201, 154, 190, 330, 410, 160, 210, 195, 210, 188]
-                },
-                {
-                    name: '日度学员数',
-                    type: 'line',
-                    stack: 'Total',
-                    data: [320, 332, 301, 334, 390, 330, 320, 10, 195, 145, 188, 160]
-                }
-            ]
-        };
-        option7  = {
-            tooltip: {
-                trigger: 'axis'
-            },
-            legend: {
-                data: ['年度耗课数量', '月度耗课数量', '周度耗课数量', '日度耗课数量']
-            },
-            grid: {
-                left: '3%',
-                right: '4%',
-                bottom: '3%',
-                containLabel: true
-            },
-            toolbox: {
-                feature: {
-                    saveAsImage: {}
-                }
-            },
-            xAxis: {
-                type: 'category',
-                boundaryGap: false,
-                data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
-            },
-            yAxis: {
-                type: 'value'
-            },
-            series: [
-                {
-                    name: '年度耗课数量',
-                    type: 'line',
-                    stack: 'Total',
-                    data: [120, 132, 101, 134, 90, 230, 160, 190, 410, 330, 210, 330]
-                },
-                {
-                    name: '月度耗课数量',
-                    type: 'line',
-                    stack: 'Total',
-                    data: [220, 182, 191, 234, 290, 330, 310, 190, 210, 330, 410, 160]
         myChart.on('legendselectchanged', obj => {
             var options = myChart.getOption()
             //这里是选择切换什么样的x轴,那么他会进行对Y值的切换
@@ -987,6 +990,27 @@
     function ptActivity() {
         var myChart4 = echarts.init(document.getElementById('activity'));
         var myChart5 = echarts.init(document.getElementById('prepare'));
+        myChart4.on('legendselectchanged', obj => {
+            var options = myChart4.getOption()
+            //这里是选择切换什么样的x轴,那么他会进行对Y值的切换
+            if (obj.name == '年度次数') {
+                options.xAxis[0].data = yearX
+            } else if (obj.name == '月度次数') {
+                options.xAxis[0].data = monthX
+            }
+            myChart4.setOption(options, true)
+        });
+
+        myChart5.on('legendselectchanged', obj => {
+            var options = myChart5.getOption()
+            //这里是选择切换什么样的x轴,那么他会进行对Y值的切换
+            if (obj.name == '年度次数') {
+                options.xAxis[0].data = yearX
+            } else if (obj.name == '月度次数') {
+                options.xAxis[0].data = monthX
+            }
+            myChart5.setOption(options, true)
+        });
 
         var ajax2 = new $ax(Feng.ctxPath + "/data/actPt", function(data){
             console.log(data)
@@ -1214,6 +1238,8 @@
 
             ptUser()
 
+            ptActivity()
+
         }
 
 
@@ -1286,12 +1312,12 @@
         }
     }
 
-</script>
-<script>
     $(function(){
+
         var chartDom = document.getElementById('cookieTicket');
         var myChart = echarts.init(chartDom);
         var option;
+
         option = {
             title: {
                 text: '门票收入',
@@ -1308,8 +1334,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: {
@@ -1322,11 +1350,27 @@
                 }
             ]
         };
-    myChart.setOption(option);
+        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: {
@@ -1343,12 +1387,7 @@
                     name: 'Access From',
                     type: 'pie',
                     radius: '50%',
-                    data: [
-                        { value: 1048, name: '篮球课' },
-                        { value: 735, name: '羽毛课' },
-                        { value: 735, name: '足球课' },
-
-                    ],
+                    data: a,
                     emphasis: {
                         itemStyle: {
                             shadowBlur: 10,
@@ -1362,6 +1401,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;
@@ -1380,48 +1435,7 @@
                     name: 'Access From',
                     type: 'pie',
                     radius: '50%',
-                    data: [
-                        { value: 1048, name: '激战' },
-                        { value: 735, name: '篮球场' },
-                        { value: 735, name: '足球场' },
-
-                    ],
-                    emphasis: {
-                        itemStyle: {
-                            shadowBlur: 10,
-                            shadowOffsetX: 0,
-                            shadowColor: 'rgba(0, 0, 0, 0.5)'
-                        }
-                    }
-                }
-            ]
-        };
-        myChart.setOption(option);
-    });
-    $(function(){
-        var chartDom = document.getElementById('cookieAge');
-        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: 1048, name: '30-35' },
-                        { value: 735, name: '12-18' },
-
-                    ],
+                    data: a,
                     emphasis: {
                         itemStyle: {
                             shadowBlur: 10,
@@ -1454,8 +1468,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: {
@@ -1490,8 +1506,8 @@
                     type: 'pie',
                     radius: '50%',
                     data: [
-                        { value: 1048, name: '男' },
-                        { value: 735, name: '女' },
+                        { value: $("#boy").val(), name: '男' },
+                        { value: $("#girl").val(), name: '女' },
 
                     ],
                     emphasis: {
@@ -1501,50 +1517,6 @@
                             shadowColor: 'rgba(0, 0, 0, 0.5)'
                         }
                     }
-                }
-            ]
-        };
-        myChart.setOption(option);
-    });
-    $(function(){
-        var chartDom = document.getElementById('city');
-        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(){
-        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'
                 }
             ]
         };
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ticket/ticket_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ticket/ticket_add.html
index 88683dd..113cc50 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ticket/ticket_add.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ticket/ticket_add.html
@@ -123,7 +123,7 @@
                 </div>
             </div>
             <#input id="startTime" name="有效期" type="text"/>
-            @if(roletype==3){
+            @if(userType==3){
             <div class="row" id="belongsCon" >
                 <div class="form-group">
                     <div class="form-group">

--
Gitblit v1.7.1