From efe79e640c4598f52c2d1032fcead000edf8049e Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期三, 28 六月 2023 10:29:53 +0800
Subject: [PATCH] 统计bug和验证优化

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtTotalMemberTotalVo.java           |   38 +--
 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml                                |    8 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtActivityEditDto.java               |    2 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtTotalActivityTotalVo.java           |   17 +
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java       |    3 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java    |    4 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtStaffController.java  |    3 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtGoodsController.java    |    3 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java     |   58 +----
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java                  |    2 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java         |  328 ++++++++++++++++++++---------------
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtActivityController.java |    3 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtTotalController.java    |    6 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java |    9 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtGoodsEditDto.java                  |    8 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtPlTotalActivityTotalVo.java         |    6 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java                    |    4 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtEditShopDto.java                     |    4 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffEditDto.java                |    6 
 19 files changed, 279 insertions(+), 233 deletions(-)

diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtActivityController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtActivityController.java
index 45b2518..1e35cf5 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtActivityController.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtActivityController.java
@@ -16,6 +16,7 @@
 import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -43,7 +44,7 @@
     @RequestMapping(value = "/editMgtActivity", method = RequestMethod.POST)
     @Log(title = "活动管理", businessType = BusinessType.UPDATE,operContent = "编辑活动")
     @ApiOperation(value = "平台编辑活动")
-    public R editMgtActivity(@RequestBody MgtActivityEditDto mgtActivityEditDto) {
+    public R editMgtActivity(@Validated  @RequestBody MgtActivityEditDto mgtActivityEditDto) {
         Long userId = SecurityUtils.getUserId();
         mgtActivityEditDto.setUserId(userId);
         activityService.editMgtActivity(mgtActivityEditDto);
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtGoodsController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtGoodsController.java
index 7948f93..68fe7e6 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtGoodsController.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtGoodsController.java
@@ -15,6 +15,7 @@
 import com.ruoyi.system.api.domain.vo.MgtSelectGoodsPageVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -73,7 +74,7 @@
     @RequestMapping(value = "/editMgtGoods", method = RequestMethod.POST)
     @Log(title = "商品管理", businessType = BusinessType.UPDATE,operContent = "编辑商品")
     @ApiOperation(value = "平台编辑商品")
-    public R editMgtGoods(@RequestBody MgtGoodsEditDto mgtGoodsEditDto) {
+    public R editMgtGoods(@Validated @RequestBody MgtGoodsEditDto mgtGoodsEditDto) {
         Long userId = SecurityUtils.getUserId();
         mgtGoodsEditDto.setUserId(userId);
         goodsService.editMgtGoods(mgtGoodsEditDto);
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtActivityEditDto.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtActivityEditDto.java
index 939a673..99fff22 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtActivityEditDto.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtActivityEditDto.java
@@ -4,6 +4,7 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import javax.validation.constraints.NotNull;
 import java.util.Date;
 import java.util.List;
 
@@ -22,6 +23,7 @@
     private String activityId;
 
     @ApiModelProperty(value = "活动名称")
+    @NotNull(message = "活动名称不能为空")
     private String activityName;
 
     @ApiModelProperty(value = "活动开始时间")
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtGoodsEditDto.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtGoodsEditDto.java
index ae3bc37..10b6ab7 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtGoodsEditDto.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtGoodsEditDto.java
@@ -4,6 +4,7 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
 
 /**
@@ -20,18 +21,23 @@
     private String goodsId;
 
     @ApiModelProperty(value = "商品状态1上架2下架")
+    @NotNull(message = "商品状态不能为空")
     private Integer goodsStatus;
 
     @ApiModelProperty(value = "商品类型1周期2服务3体验4单品")
+    @NotNull(message = "商品类型不能为空")
     private Integer goodsType;
 
     @ApiModelProperty(value = "商品分类id")
+    @NotNull(message = "商品分类id不能为空")
     private Long goodsClassId;
 
     @ApiModelProperty(value = "商品名称")
+    @NotNull(message = "商品名称不能为空")
     private String goodsName;
 
     @ApiModelProperty(value = "商品图片")
+    @NotNull(message = "商品图片不能为空")
     private String goodsPicture;
 
     @ApiModelProperty(value = "商品视频")
@@ -50,9 +56,11 @@
     private String goodsIntroduction;
 
     @ApiModelProperty(value = "建议售价")
+    @NotNull(message = "建议售价不能为空")
     private BigDecimal salesPrice;
 
     @ApiModelProperty(value = "最低售价")
+    @NotNull(message = "最低售价不能为空")
     private BigDecimal mininumPrice;
 
     @ApiModelProperty(value = "订金")
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtTotalMemberTotalVo.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtTotalMemberTotalVo.java
index 8fdb73c..8507f0c 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtTotalMemberTotalVo.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtTotalMemberTotalVo.java
@@ -1,7 +1,10 @@
 package com.ruoyi.member.domain.vo;
 
+import com.ruoyi.system.api.domain.vo.MgtMapTotalVo;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+
+import java.util.List;
 
 /**
  * @ClassName MgtTotalMemberTotalVo
@@ -46,33 +49,18 @@
     @ApiModelProperty(value = "会员年龄value")
     private Integer[] ageValue;
 
-    @ApiModelProperty(value = "会员调理key")
-    private String[] nurseKey;
+    @ApiModelProperty(value = "会员调理")
+    private List<MgtMapTotalVo> nurseTotalVos;
 
-    @ApiModelProperty(value = "会员调理value")
-    private Integer[] nurseValue;
+    @ApiModelProperty(value = "商品类型")
+    private List<MgtMapTotalVo> goodsTypeTotalVos;
 
-    @ApiModelProperty(value = "商品类型key")
-    private String[] goodsTypeKey;
+    @ApiModelProperty(value = "活跃度")
+    private List<MgtMapTotalVo> activenessList;
 
-    @ApiModelProperty(value = "商品类型value")
-    private Integer[] goodsTypeValue;
+    @ApiModelProperty(value = "来源渠道")
+    private List<MgtMapTotalVo> customerSourceList;
 
-    @ApiModelProperty(value = "活跃度key")
-    private String[] activenessKey;
-
-    @ApiModelProperty(value = "活跃度value")
-    private Integer[] activenessValue;
-
-    @ApiModelProperty(value = "消费排行key")
-    private String[] orderRankKey;
-
-    @ApiModelProperty(value = "消费排行value")
-    private Integer[] orderRankValue;
-
-    @ApiModelProperty(value = "来源排行key")
-    private String[] customerSourceKey;
-
-    @ApiModelProperty(value = "来源排行value")
-    private Integer[] customerSourceValue;
+    @ApiModelProperty(value = "消费排行")
+    private List<MgtMapTotalVo> memberPayList;
 }
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
index ff6b573..960f653 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -981,75 +981,48 @@
         // 获取不同护理类型的会员数
         List<MgtMapTotalVo> nurseTotalVos = memberMapper.getTotalMemberTotalNurse(mgtBaseShopDto);
         if (nurseTotalVos != null && nurseTotalVos.size() > 0) {
-            String[] nurseKey = new String[nurseTotalVos.size()];
-            Integer[] nurseValue = new Integer[nurseTotalVos.size()];
-            // 遍历不同护理类型的会员数列表,设置护理类型数组和对应的会员数数组
-            for (int i = 0; i < nurseTotalVos.size(); i++) {
-                nurseKey[i] = nurseTotalVos.get(i).getMapKey();
-                nurseValue[i] = nurseTotalVos.get(i).getMapValue();
-            }
-            mgtTotalMemberTotalVo.setNurseKey(nurseKey);
-            mgtTotalMemberTotalVo.setNurseValue(nurseValue);
+            nurseTotalVos = listRemoveNull(nurseTotalVos);
+            mgtTotalMemberTotalVo.setNurseTotalVos(nurseTotalVos);
         }
         // 获取不同商品类型的会员数
         List<MgtMapTotalVo> goodsTypeTotalVos = memberMapper.getTotalMemberTotalGoodsType(mgtBaseShopDto);
         if (goodsTypeTotalVos != null && goodsTypeTotalVos.size() > 0) {
-            String[] goodsTypeKey = new String[goodsTypeTotalVos.size()];
-            Integer[] goodsTypeValue = new Integer[goodsTypeTotalVos.size()];
-            // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
-            for (int i = 0; i < goodsTypeTotalVos.size(); i++) {
-                goodsTypeKey[i] = goodsTypeTotalVos.get(i).getMapKey();
-                goodsTypeValue[i] = goodsTypeTotalVos.get(i).getMapValue();
-            }
-            mgtTotalMemberTotalVo.setGoodsTypeKey(goodsTypeKey);
-            mgtTotalMemberTotalVo.setGoodsTypeValue(goodsTypeValue);
+            goodsTypeTotalVos = listRemoveNull(goodsTypeTotalVos);
+            mgtTotalMemberTotalVo.setGoodsTypeTotalVos(goodsTypeTotalVos);
         }
         // 获取不同活跃度的会员数
         List<Activeness> activenessList = remoteConfigService.listActiveness().getData();
         if (activenessList != null && !activenessList.isEmpty()) {
-            String[] activenessKey = new String[activenessList.size()];
-            Integer[] activenessValue = new Integer[activenessList.size()];
             Activeness activeness;
             String actStartDate;
             String actEndDate;
             Integer count;
+            List<MgtMapTotalVo> mgtMapTotalVoList = new ArrayList<>();
+            MgtMapTotalVo mgtMapTotalVo;
             // 遍历不同活跃度列表,设置活跃度数组和对应的会员数数组
             for (int i = 0; i < activenessList.size(); i++) {
                 activeness = activenessList.get(i);
                 actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay()));
                 actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay()));
                 count = memberMapper.getTotalMemberTotalActiveness(shopId, actStartDate, actEndDate);
-                activenessKey[i] = activeness.getActivenessName();
-                activenessValue[i] = count;
+                mgtMapTotalVo = new MgtMapTotalVo();
+                mgtMapTotalVo.setMapKey(activeness.getActivenessName());
+                mgtMapTotalVo.setMapValue(count);
+                mgtMapTotalVoList.add(mgtMapTotalVo);
             }
-            mgtTotalMemberTotalVo.setActivenessKey(activenessKey);
-            mgtTotalMemberTotalVo.setActivenessValue(activenessValue);
+            mgtTotalMemberTotalVo.setActivenessList(mgtMapTotalVoList);
         }
         //获取会员消费排名
         List<MgtMapTotalVo> memberPayList = memberMapper.getTotalMemberRankPay(mgtBaseShopDto);
         if (memberPayList != null && memberPayList.size() > 0) {
-            String[] memberPayKey = new String[memberPayList.size()];
-            Integer[] memberPayValue = new Integer[memberPayList.size()];
-            // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
-            for (int i = 0; i < memberPayList.size(); i++) {
-                memberPayKey[i] = memberPayList.get(i).getMapKey();
-                memberPayValue[i] = memberPayList.get(i).getMapValue();
-            }
-            mgtTotalMemberTotalVo.setOrderRankKey(memberPayKey);
-            mgtTotalMemberTotalVo.setOrderRankValue(memberPayValue);
+            memberPayList = listRemoveNull(memberPayList);
+            mgtTotalMemberTotalVo.setMemberPayList(memberPayList);
         }
         //获取来源渠道排名
         List<MgtMapTotalVo> customerSourceList = memberMapper.getTotalMemberRankCustomerSource(mgtBaseShopDto);
         if (customerSourceList != null && customerSourceList.size() > 0) {
-            String[] customerSourceKey = new String[customerSourceList.size()];
-            Integer[] customerSourceValue = new Integer[customerSourceList.size()];
-            // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
-            for (int i = 0; i < customerSourceList.size(); i++) {
-                customerSourceKey[i] = customerSourceList.get(i).getMapKey();
-                customerSourceValue[i] = customerSourceList.get(i).getMapValue();
-            }
-            mgtTotalMemberTotalVo.setCustomerSourceKey(customerSourceKey);
-            mgtTotalMemberTotalVo.setCustomerSourceValue(customerSourceValue);
+            customerSourceList = listRemoveNull(customerSourceList);
+            mgtTotalMemberTotalVo.setCustomerSourceList(customerSourceList);
         }
         // 返回总会员数和不同类型会员数的统计结果
         return mgtTotalMemberTotalVo;
@@ -1143,6 +1116,7 @@
                     mgtMapTotalVo = new MgtMapTotalVo();
                     mgtMapTotalVo.setMapKey(activeness.getActivenessName());
                     mgtMapTotalVo.setMapValue(count);
+                    mgtMapTotalVoList.add(mgtMapTotalVo);
                 }
             }
             plTotalMemberTotalVo.setActivenessList(mgtMapTotalVoList);
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtTotalController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtTotalController.java
index 123772c..70010a5 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtTotalController.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtTotalController.java
@@ -98,10 +98,10 @@
 
     @RequestMapping(value = "/getPlTotalActivityAgeRank", method = RequestMethod.POST)
     @ApiOperation(value = "获取平台商户活动年龄分布")
-    public R<List<MgtMapTotalPlusVo>> getPlTotalActivityAgeRank(@RequestBody MgtPlActivityAgeDto mgtPlActivityAgeDto) {
+    public R<MgtPlTotalActivityTotalVo> getPlTotalActivityAgeRank(@RequestBody MgtPlActivityAgeDto mgtPlActivityAgeDto) {
         Long userId = SecurityUtils.getUserId();
         mgtPlActivityAgeDto.setUserId(userId);
-        List<MgtMapTotalPlusVo> ageRankList = orderService.getPlTotalActivityAgeRank(mgtPlActivityAgeDto);
-        return R.ok(ageRankList);
+        MgtPlTotalActivityTotalVo plTotalActivityTotalVo = orderService.getPlTotalActivityAgeRank(mgtPlActivityAgeDto);
+        return R.ok(plTotalActivityTotalVo);
     }
 }
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtPlTotalActivityTotalVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtPlTotalActivityTotalVo.java
index f33f8e5..dfb8fce 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtPlTotalActivityTotalVo.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtPlTotalActivityTotalVo.java
@@ -78,4 +78,10 @@
     @ApiModelProperty(value = "活动次数排行")
     private List<MgtMapBigTotalVo> activitySalesRankList;
 
+    @ApiModelProperty(value = "活动年龄分布key")
+    private String[] activityAgeKey;
+
+    @ApiModelProperty(value = "活动年龄分布value")
+    private Integer[] activityAgeValue;
+
 }
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtTotalActivityTotalVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtTotalActivityTotalVo.java
index a9dc887..7d29ede 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtTotalActivityTotalVo.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtTotalActivityTotalVo.java
@@ -1,9 +1,12 @@
 package com.ruoyi.order.domain.vo;
 
+import com.ruoyi.system.api.domain.vo.MgtMapBigTotalVo;
+import com.ruoyi.system.api.domain.vo.MgtMapTotalVo;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * @ClassName MgtTotalActivityTotalVo
@@ -60,13 +63,15 @@
     @ApiModelProperty(value = "订单金额value")
     private BigDecimal[] orderMoneyValue;
 
-    @ApiModelProperty(value = "商品类型数量key")
-    private String[] goodsTypeKey;
+    @ApiModelProperty(value = "商品类型数量")
+    private List<MgtMapTotalVo> goodsTypeTotalList;
 
-    @ApiModelProperty(value = "商品类型数量value")
-    private Integer[] goodsTypeTotalValue;
+    @ApiModelProperty(value = "商品类型金额")
+    private List<MgtMapBigTotalVo> goodsTypeMoneyList;
 
-    @ApiModelProperty(value = "商品类型金额value")
-    private BigDecimal[] goodsTypeMoneyValue;
+    @ApiModelProperty(value = "活动年龄分布key")
+    private String[] activityAgeKey;
 
+    @ApiModelProperty(value = "活动年龄分布value")
+    private Integer[] activityAgeValue;
 }
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
index 4452b1e..c1f0464 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
@@ -246,7 +246,7 @@
      * @param mgtActivityAgeDto
      * @return  MgtTotalActivityTotalVo
      */
-    MgtTotalActivityTotalVo getTotalActivityAgeRank(@Param("param")MgtActivityAgeDto mgtActivityAgeDto);
+    List<MgtMapTotalVo> getTotalActivityAgeRank(@Param("param")MgtActivityAgeDto mgtActivityAgeDto);
 
     /**
      * @description
@@ -385,7 +385,7 @@
      * @param mgtActivityAgeDto
      * @return  MgtTotalActivityTotalVo
      */
-    List<MgtMapTotalPlusVo> getPlTotalActivityAgeRank(@Param("param")MgtPlActivityAgeDto mgtActivityAgeDto);
+    List<MgtMapTotalVo> getPlTotalActivityAgeRank(@Param("param")MgtPlActivityAgeDto mgtActivityAgeDto);
 
     /**
      * @description listPlTotalShopActivityRank
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
index 2d5b088..243592f 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -1011,22 +1011,22 @@
     @Override
     public List<MgtActivityOrderPageVo> pageMgtActivityOrder(Page page, MgtShopOrderPageDto mgtShopOrderPageDto) {
         //如果区域代码不为null获取对应的商户id
-        if(StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopProvinceCode())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopCityCode())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopAreaCode())){
+        if (StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword()) || StringUtils.isNotBlank(mgtShopOrderPageDto.getShopProvinceCode()) || StringUtils.isNotBlank(mgtShopOrderPageDto.getShopCityCode()) || StringUtils.isNotBlank(mgtShopOrderPageDto.getShopAreaCode())) {
             MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto();
             mgtShopIdByCodeDto.setShopProvinceCode(mgtShopOrderPageDto.getShopProvinceCode());
             mgtShopIdByCodeDto.setShopCityCode(mgtShopOrderPageDto.getShopCityCode());
             mgtShopIdByCodeDto.setShopAreaCode(mgtShopOrderPageDto.getShopAreaCode());
             MgtShopIdByCodeVo mgtShopIdByCodeVo = remoteShopService.getShopIdByCode(mgtShopIdByCodeDto).getData();
-            if(StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())){
+            if (StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())) {
                 mgtShopOrderPageDto.setShopIds(mgtShopIdByCodeVo.getShopIds());
             }
         }
         //如果关键词不为null获取对应的用户id
-        if(StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())){
+        if (StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())) {
             MgtUserIdByKeywordDto mgtUserIdByKeywordDto = new MgtUserIdByKeywordDto();
             mgtUserIdByKeywordDto.setKeyword(mgtShopOrderPageDto.getKeyword());
-            MgtUserIdByKeywordVo mgtUserIdByKeywordVo= remoteMemberService.getUserIdByKeyword(mgtUserIdByKeywordDto).getData();
-            if(StringUtils.isNotBlank(mgtUserIdByKeywordVo.getUserIds())){
+            MgtUserIdByKeywordVo mgtUserIdByKeywordVo = remoteMemberService.getUserIdByKeyword(mgtUserIdByKeywordDto).getData();
+            if (StringUtils.isNotBlank(mgtUserIdByKeywordVo.getUserIds())) {
                 mgtShopOrderPageDto.setUserIds(mgtUserIdByKeywordVo.getUserIds());
             }
         }
@@ -1060,7 +1060,7 @@
             // 遍历列表,设置店铺名称、用户名称和未支付金额
             for (MgtActivityOrderPageVo mgtActivityOrderPageVo : activityOrderPageVoList) {
                 mgtActivityOrderPageVo.setShopName(shopMap.get(mgtActivityOrderPageVo.getShopId()).getShopName());
-                if(userMap.get(mgtActivityOrderPageVo.getUserId())!=null){
+                if (userMap.get(mgtActivityOrderPageVo.getUserId()) != null) {
                     mgtActivityOrderPageVo.setUserName(userMap.get(mgtActivityOrderPageVo.getUserId()).getNickName());
                 }
                 BigDecimal unPaidMoney = mgtActivityOrderPageVo.getReceivableMoney().subtract(mgtActivityOrderPageVo.getPayMoney());
@@ -1072,31 +1072,31 @@
     }
 
     /**
-     * @description  获取订单统计
-     * @author  jqs
-     * @date    2023/6/16 12:51
      * @param mgtShopOrderPageDto
-     * @return  MgtMemberOrderTotalVo
+     * @return MgtMemberOrderTotalVo
+     * @description 获取订单统计
+     * @author jqs
+     * @date 2023/6/16 12:51
      */
     @Override
-    public MgtOrderTotal getMgtOrderTotal(MgtShopOrderPageDto mgtShopOrderPageDto){
+    public MgtOrderTotal getMgtOrderTotal(MgtShopOrderPageDto mgtShopOrderPageDto) {
         //如果区域代码不为null获取对应的商户id
-        if(StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopProvinceCode())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopCityCode())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopAreaCode())){
+        if (StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword()) || StringUtils.isNotBlank(mgtShopOrderPageDto.getShopProvinceCode()) || StringUtils.isNotBlank(mgtShopOrderPageDto.getShopCityCode()) || StringUtils.isNotBlank(mgtShopOrderPageDto.getShopAreaCode())) {
             MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto();
             mgtShopIdByCodeDto.setShopProvinceCode(mgtShopOrderPageDto.getShopProvinceCode());
             mgtShopIdByCodeDto.setShopCityCode(mgtShopOrderPageDto.getShopCityCode());
             mgtShopIdByCodeDto.setShopAreaCode(mgtShopOrderPageDto.getShopAreaCode());
             MgtShopIdByCodeVo mgtShopIdByCodeVo = remoteShopService.getShopIdByCode(mgtShopIdByCodeDto).getData();
-            if(StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())){
+            if (StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())) {
                 mgtShopOrderPageDto.setShopIds(mgtShopIdByCodeVo.getShopIds());
             }
         }
         //如果关键词不为null获取对应的用户id
-        if(StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())){
+        if (StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())) {
             MgtUserIdByKeywordDto mgtUserIdByKeywordDto = new MgtUserIdByKeywordDto();
             mgtUserIdByKeywordDto.setKeyword(mgtShopOrderPageDto.getKeyword());
-            MgtUserIdByKeywordVo mgtUserIdByKeywordVo= remoteMemberService.getUserIdByKeyword(mgtUserIdByKeywordDto).getData();
-            if(StringUtils.isNotBlank(mgtUserIdByKeywordVo.getUserIds())){
+            MgtUserIdByKeywordVo mgtUserIdByKeywordVo = remoteMemberService.getUserIdByKeyword(mgtUserIdByKeywordDto).getData();
+            if (StringUtils.isNotBlank(mgtUserIdByKeywordVo.getUserIds())) {
                 mgtShopOrderPageDto.setUserIds(mgtUserIdByKeywordVo.getUserIds());
             }
         }
@@ -1118,32 +1118,32 @@
     }
 
     /**
-     * @description  分页获取门店订单列表
-     * @author  jqs
-     * @date    2023/6/16 14:57
      * @param page
      * @param mgtShopOrderPageDto
-     * @return  List<MgtShopOrderPageVo>
+     * @return List<MgtShopOrderPageVo>
+     * @description 分页获取门店订单列表
+     * @author jqs
+     * @date 2023/6/16 14:57
      */
     @Override
-    public List<MgtShopOrderPageVo> pageMgtShopOrder(Page page, MgtShopOrderPageDto mgtShopOrderPageDto){
+    public List<MgtShopOrderPageVo> pageMgtShopOrder(Page page, MgtShopOrderPageDto mgtShopOrderPageDto) {
         //如果区域代码不为null获取对应的商户id
-        if(StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopProvinceCode())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopCityCode())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopAreaCode())){
+        if (StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword()) || StringUtils.isNotBlank(mgtShopOrderPageDto.getShopProvinceCode()) || StringUtils.isNotBlank(mgtShopOrderPageDto.getShopCityCode()) || StringUtils.isNotBlank(mgtShopOrderPageDto.getShopAreaCode())) {
             MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto();
             mgtShopIdByCodeDto.setShopProvinceCode(mgtShopOrderPageDto.getShopProvinceCode());
             mgtShopIdByCodeDto.setShopCityCode(mgtShopOrderPageDto.getShopCityCode());
             mgtShopIdByCodeDto.setShopAreaCode(mgtShopOrderPageDto.getShopAreaCode());
             MgtShopIdByCodeVo mgtShopIdByCodeVo = remoteShopService.getShopIdByCode(mgtShopIdByCodeDto).getData();
-            if(StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())){
+            if (StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())) {
                 mgtShopOrderPageDto.setShopIds(mgtShopIdByCodeVo.getShopIds());
             }
         }
         //如果关键词不为null获取对应的用户id
-        if(StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())){
+        if (StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())) {
             MgtUserIdByKeywordDto mgtUserIdByKeywordDto = new MgtUserIdByKeywordDto();
             mgtUserIdByKeywordDto.setKeyword(mgtShopOrderPageDto.getKeyword());
-            MgtUserIdByKeywordVo mgtUserIdByKeywordVo= remoteMemberService.getUserIdByKeyword(mgtUserIdByKeywordDto).getData();
-            if(StringUtils.isNotBlank(mgtUserIdByKeywordVo.getUserIds())){
+            MgtUserIdByKeywordVo mgtUserIdByKeywordVo = remoteMemberService.getUserIdByKeyword(mgtUserIdByKeywordDto).getData();
+            if (StringUtils.isNotBlank(mgtUserIdByKeywordVo.getUserIds())) {
                 mgtShopOrderPageDto.setUserIds(mgtUserIdByKeywordVo.getUserIds());
             }
         }
@@ -1162,7 +1162,7 @@
             // 从远程服务获取店铺和用户信息
             Map<Long, MgtSimpleShopVo> shopMap = null;
             Map<Long, MgtSimpleMemberVo> userMap = null;
-            if(shopIdSet!=null&&!shopIdSet.isEmpty()){
+            if (shopIdSet != null && !shopIdSet.isEmpty()) {
                 String shopJoinedString = String.join(",", shopIdSet.stream().map(Object::toString).collect(Collectors.toList()));
                 MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto();
                 mgtBaseBathDto.setIds(shopJoinedString);
@@ -1170,7 +1170,7 @@
                 shopMap = simpleShopVoList.stream()
                         .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity()));
             }
-            if(userIdSet!=null&&!userIdSet.isEmpty()){
+            if (userIdSet != null && !userIdSet.isEmpty()) {
                 String userJoinedString = String.join(",", userIdSet.stream().map(Object::toString).collect(Collectors.toList()));
                 MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto();
                 mgtBaseBathDto.setIds(userJoinedString);
@@ -1180,11 +1180,11 @@
             }
             // 遍历列表,设置店铺名称、用户名称和未支付金额
             for (MgtShopOrderPageVo mgtShopOrderPageVo : shopOrderPageVoList) {
-                if(shopMap!=null&&!shopMap.isEmpty()){
+                if (shopMap != null && !shopMap.isEmpty()) {
                     mgtShopOrderPageVo.setShopName(shopMap.get(mgtShopOrderPageVo.getShopId()).getShopName());
                 }
-                if(userMap!=null&&!userMap.isEmpty()){
-                    if(userMap.get(mgtShopOrderPageVo.getUserId())!=null){
+                if (userMap != null && !userMap.isEmpty()) {
+                    if (userMap.get(mgtShopOrderPageVo.getUserId()) != null) {
                         mgtShopOrderPageVo.setUserName(userMap.get(mgtShopOrderPageVo.getUserId()).getNickName());
                     }
                 }
@@ -1197,14 +1197,14 @@
 
 
     /**
-     * @description  获取订单详情
-     * @author  jqs
-     * @date    2023/6/16 16:49
      * @param orderId
-     * @return  MgtOrderDetailVo
+     * @return MgtOrderDetailVo
+     * @description 获取订单详情
+     * @author jqs
+     * @date 2023/6/16 16:49
      */
     @Override
-    public MgtOrderDetailVo getMgtOrderDetail(String orderId){
+    public MgtOrderDetailVo getMgtOrderDetail(String orderId) {
         // 创建MgtOrderDetailVo对象
         MgtOrderDetailVo mgtOrderDetailVo = new MgtOrderDetailVo();
         // 获取订单信息
@@ -1278,27 +1278,27 @@
     }
 
     /**
-     * @description boardOrderTotal
      * @param
      * @return MgtBulletinBoardVo
+     * @description boardOrderTotal
      * @author jqs34
      * @date 2023/6/18 17:20
      */
     @Override
-    public MgtBulletinBoardVo boardOrderTotal(){
+    public MgtBulletinBoardVo boardOrderTotal() {
         MgtBulletinBoardVo mgtBulletinBoardVo = orderMapper.boardOrderTotal();
         return mgtBulletinBoardVo;
     }
 
     /**
-     * @description getTotalOrderTotal
      * @param mgtBaseShopDto
      * @return MgtTotalOrderTotalVo
+     * @description getTotalOrderTotal
      * @author jqs34
      * @date 2023/6/19 22:23
      */
     @Override
-    public MgtTotalOrderTotalVo getTotalOrderTotal(MgtBaseShopDto mgtBaseShopDto){
+    public MgtTotalOrderTotalVo getTotalOrderTotal(MgtBaseShopDto mgtBaseShopDto) {
         MgtTotalOrderTotalVo mgtTotalOrderTotalVo = orderMapper.getTotalOrderTotalOrderFrom(mgtBaseShopDto);
         //MgtTotalOrderTotalVo mgtTotalOrderTotalVoGoodsType = orderMapper.getTotalOrderTotalGoodsType(mgtBaseShopDto);
         List<MgtMapTotalPlusVo> mgtMapTotalVos = orderMapper.listTotalOrderTotal(mgtBaseShopDto);
@@ -1328,25 +1328,27 @@
                 mgtMapBigTotalVo = new MgtMapBigTotalVo();
                 mgtMapTotalVo.setMapValue(mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
                 mgtMapBigTotalVo.setMapValue(mgtMapTotalVoGoodsType.get(i).getMapValueSecond());
-                if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("1")){
+                if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("1")) {
                     mgtMapTotalVo.setMapKey("周期");
                     mgtMapBigTotalVo.setMapKey("周期");
-                    mgtTotalOrderTotalVo.setCycleTotal(mgtTotalOrderTotalVo.getCycleTotal()+mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
+                    mgtTotalOrderTotalVo.setCycleTotal(mgtTotalOrderTotalVo.getCycleTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
                     mgtTotalOrderTotalVo.setCycleMoney(mgtTotalOrderTotalVo.getCycleMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
-                }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("2")){
+                } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("2")) {
                     mgtMapTotalVo.setMapKey("服务");
                     mgtMapBigTotalVo.setMapKey("服务");
-                    mgtTotalOrderTotalVo.setServiceTotal(mgtTotalOrderTotalVo.getServiceTotal()+mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
+                    mgtTotalOrderTotalVo.setServiceTotal(mgtTotalOrderTotalVo.getServiceTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
                     mgtTotalOrderTotalVo.setServiceMoney(mgtTotalOrderTotalVo.getServiceMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
-                }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("3")){
+                } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("3")) {
                     mgtMapTotalVo.setMapKey("体验");
                     mgtMapBigTotalVo.setMapKey("体验");
-                    mgtTotalOrderTotalVo.setExperienceTotal(mgtTotalOrderTotalVo.getExperienceTotal()+mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
+                    mgtTotalOrderTotalVo.setExperienceTotal(mgtTotalOrderTotalVo.getExperienceTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
                     mgtTotalOrderTotalVo.setExperienceMoney(mgtTotalOrderTotalVo.getExperienceMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
-                }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("4")){
+                } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("4")) {
                     mgtMapTotalVo.setMapKey("单品");
                     mgtMapBigTotalVo.setMapKey("单品");
                 }
+                goodsTypeTotalList.add(mgtMapTotalVo);
+                goodsTypeMoneyList.add(mgtMapBigTotalVo);
             }
             mgtTotalOrderTotalVo.setGoodsTypeTotalList(goodsTypeTotalList);
             mgtTotalOrderTotalVo.setGoodsTypeMoneyList(goodsTypeMoneyList);
@@ -1367,15 +1369,15 @@
     }
 
     /**
-     * @description  去除空字符串
-     * @author  jqs
-     * @date    2023/6/27 17:35
      * @param mgtMapTotalVos
-     * @return  List<MgtMapTotalVo>
+     * @return List<MgtMapTotalVo>
+     * @description 去除空字符串
+     * @author jqs
+     * @date 2023/6/27 17:35
      */
-    private List<MgtMapTotalVo> listRemoveNull(List<MgtMapTotalVo> mgtMapTotalVos){
+    private List<MgtMapTotalVo> listRemoveNull(List<MgtMapTotalVo> mgtMapTotalVos) {
         for (int i = 0; i < mgtMapTotalVos.size(); i++) {
-            if(StringUtils.isBlank(mgtMapTotalVos.get(i).getMapKey())){
+            if (StringUtils.isBlank(mgtMapTotalVos.get(i).getMapKey())) {
                 mgtMapTotalVos.remove(i);
             }
         }
@@ -1383,15 +1385,15 @@
     }
 
     /**
-     * @description  去除空字符串
-     * @author  jqs
-     * @date    2023/6/27 17:35
      * @param mgtMapTotalVos
-     * @return  List<MgtMapTotalVo>
+     * @return List<MgtMapTotalVo>
+     * @description 去除空字符串
+     * @author jqs
+     * @date 2023/6/27 17:35
      */
-    private List<MgtMapBigTotalVo> bigListRemoveNull(List<MgtMapBigTotalVo> mgtMapTotalVos){
+    private List<MgtMapBigTotalVo> bigListRemoveNull(List<MgtMapBigTotalVo> mgtMapTotalVos) {
         for (int i = 0; i < mgtMapTotalVos.size(); i++) {
-            if(StringUtils.isBlank(mgtMapTotalVos.get(i).getMapKey())){
+            if (StringUtils.isBlank(mgtMapTotalVos.get(i).getMapKey())) {
                 mgtMapTotalVos.remove(i);
             }
         }
@@ -1399,48 +1401,60 @@
     }
 
     /**
-     * @description
-     * @author  jqs
-     * @date    2023/6/20 9:27
      * @param mgtBaseShopDto
-     * @return  MgtTotalActivityTotalVo
+     * @return MgtTotalActivityTotalVo
+     * @description
+     * @author jqs
+     * @date 2023/6/20 9:27
      */
     @Override
-    public MgtTotalActivityTotalVo getTotalActivityTotal(MgtBaseShopDto mgtBaseShopDto){
+    public MgtTotalActivityTotalVo getTotalActivityTotal(MgtBaseShopDto mgtBaseShopDto) {
         //获取基础统计
         MgtTotalActivityTotalVo totalActivityTotalVo = orderMapper.getTotalActivityTotal(mgtBaseShopDto);
         //获取商品分类销售数据
         List<MgtMapTotalPlusVo> mgtMapTotalVoGoodsType = orderMapper.listTotalActivityTotalGoodsType(mgtBaseShopDto);
         if (mgtMapTotalVoGoodsType != null && mgtMapTotalVoGoodsType.size() > 0) {
-            String[] goodsTypeKey = new String[mgtMapTotalVoGoodsType.size()];
-            Integer[] goodsTypeTotalValue = new Integer[mgtMapTotalVoGoodsType.size()];
-            BigDecimal[] goodsTypeMoneyValue = new BigDecimal[mgtMapTotalVoGoodsType.size()];
+            List<MgtMapTotalVo> goodsTypeTotalList = new ArrayList<>();
+            List<MgtMapBigTotalVo> goodsTypeMoneyList = new ArrayList<>();
+            totalActivityTotalVo.setCycleTotal(0);
+            totalActivityTotalVo.setCycleMoney(BigDecimal.ZERO);
+            totalActivityTotalVo.setServiceTotal(0);
+            totalActivityTotalVo.setServiceMoney(BigDecimal.ZERO);
+            totalActivityTotalVo.setExperienceTotal(0);
+            totalActivityTotalVo.setExperienceMoney(BigDecimal.ZERO);
+            // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
+            MgtMapTotalVo mgtMapTotalVo;
+            MgtMapBigTotalVo mgtMapBigTotalVo;
             // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
             for (int i = 0; i < mgtMapTotalVoGoodsType.size(); i++) {
-                goodsTypeTotalValue[i] = mgtMapTotalVoGoodsType.get(i).getMapValueFirst();
-                goodsTypeMoneyValue[i] = mgtMapTotalVoGoodsType.get(i).getMapValueSecond();
-                if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("1")){
-                    goodsTypeKey[i] = "周期";
-                    totalActivityTotalVo.setCycleTotal(mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
-                    totalActivityTotalVo.setCycleMoney(mgtMapTotalVoGoodsType.get(i).getMapValueSecond());
-                    totalActivityTotalVo.setCyclePerson(mgtMapTotalVoGoodsType.get(i).getMapValueThird());
-                }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("2")){
-                    goodsTypeKey[i] = "服务";
-                    totalActivityTotalVo.setServiceTotal(mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
-                    totalActivityTotalVo.setServiceMoney(mgtMapTotalVoGoodsType.get(i).getMapValueSecond());
-                    totalActivityTotalVo.setServicePerson(mgtMapTotalVoGoodsType.get(i).getMapValueThird());
-                }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("3")){
-                    goodsTypeKey[i] = "体验";
-                    totalActivityTotalVo.setExperienceTotal(mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
-                    totalActivityTotalVo.setExperienceMoney(mgtMapTotalVoGoodsType.get(i).getMapValueSecond());
-                    totalActivityTotalVo.setExperiencePerson(mgtMapTotalVoGoodsType.get(i).getMapValueThird());
-                }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("4")){
-                    goodsTypeKey[i] = "单品";
+                mgtMapTotalVo = new MgtMapTotalVo();
+                mgtMapBigTotalVo = new MgtMapBigTotalVo();
+                mgtMapTotalVo.setMapValue(mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
+                mgtMapBigTotalVo.setMapValue(mgtMapTotalVoGoodsType.get(i).getMapValueSecond());
+                if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("1")) {
+                    mgtMapTotalVo.setMapKey("周期");
+                    mgtMapBigTotalVo.setMapKey("周期");
+                    totalActivityTotalVo.setCycleTotal(totalActivityTotalVo.getCycleTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
+                    totalActivityTotalVo.setCycleMoney(totalActivityTotalVo.getCycleMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
+                } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("2")) {
+                    mgtMapTotalVo.setMapKey("服务");
+                    mgtMapBigTotalVo.setMapKey("服务");
+                    totalActivityTotalVo.setServiceTotal(totalActivityTotalVo.getServiceTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
+                    totalActivityTotalVo.setServiceMoney(totalActivityTotalVo.getServiceMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
+                } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("3")) {
+                    mgtMapTotalVo.setMapKey("体验");
+                    mgtMapBigTotalVo.setMapKey("体验");
+                    totalActivityTotalVo.setExperienceTotal(totalActivityTotalVo.getExperienceTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
+                    totalActivityTotalVo.setExperienceMoney(totalActivityTotalVo.getExperienceMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
+                } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("4")) {
+                    mgtMapTotalVo.setMapKey("单品");
+                    mgtMapBigTotalVo.setMapKey("单品");
                 }
+                goodsTypeTotalList.add(mgtMapTotalVo);
+                goodsTypeMoneyList.add(mgtMapBigTotalVo);
             }
-            totalActivityTotalVo.setGoodsTypeKey(goodsTypeKey);
-            totalActivityTotalVo.setGoodsTypeTotalValue(goodsTypeTotalValue);
-            totalActivityTotalVo.setGoodsTypeMoneyValue(goodsTypeMoneyValue);
+            totalActivityTotalVo.setGoodsTypeTotalList(goodsTypeTotalList);
+            totalActivityTotalVo.setGoodsTypeMoneyList(goodsTypeMoneyList);
         }
         //获取订单分布
         List<MgtMapTotalPlusVo> mgtMapTotalVos = orderMapper.listTotalActivityTotal(mgtBaseShopDto);
@@ -1461,31 +1475,45 @@
     }
 
     /**
-     * @description
-     * @author  jqs
-     * @date    2023/6/20 9:56
      * @param mgtActivityAgeDto
-     * @return  MgtTotalActivityTotalVo
+     * @return MgtTotalActivityTotalVo
+     * @description
+     * @author jqs
+     * @date 2023/6/20 9:56
      */
     @Override
-    public MgtTotalActivityTotalVo getTotalActivityAgeRank(MgtActivityAgeDto mgtActivityAgeDto){
+    public MgtTotalActivityTotalVo getTotalActivityAgeRank(MgtActivityAgeDto mgtActivityAgeDto) {
         List<Long> userIds = orderMapper.getUserIdAgeRank(mgtActivityAgeDto);
         mgtActivityAgeDto.setUserIds(userIds);
         userIds = remoteMemberService.listUserIdByAge(mgtActivityAgeDto).getData();
         mgtActivityAgeDto.setUserIds(userIds);
-        MgtTotalActivityTotalVo totalActivityTotalVo = orderMapper.getTotalActivityAgeRank(mgtActivityAgeDto);
+        List<MgtMapTotalVo> ageRankList = orderMapper.getTotalActivityAgeRank(mgtActivityAgeDto);
+        ageRankList = listRemoveNull(ageRankList);
+        MgtTotalActivityTotalVo totalActivityTotalVo = new MgtTotalActivityTotalVo();
+        String[] activityAgeKey = new String[ageRankList.size()];
+        Integer[] activityAgeValue = new Integer[ageRankList.size()];
+        if (!ageRankList.isEmpty()) {
+            MgtMapTotalVo mgtMapTotalVo;
+            for (int i = 0; i < ageRankList.size(); i++) {
+                mgtMapTotalVo = ageRankList.get(i);
+                activityAgeKey[i] = mgtMapTotalVo.getMapKey();
+                activityAgeValue[i] = mgtMapTotalVo.getMapValue();
+            }
+        }
+        totalActivityTotalVo.setActivityAgeKey(activityAgeKey);
+        totalActivityTotalVo.setActivityAgeValue(activityAgeValue);
         return totalActivityTotalVo;
     }
 
     /**
-     * @description
-     * @author  jqs
-     * @date    2023/6/20 15:31
      * @param mgtBaseShopDto
-     * @return  MgtTotalDataTotalVo
+     * @return MgtTotalDataTotalVo
+     * @description
+     * @author jqs
+     * @date 2023/6/20 15:31
      */
     @Override
-    public MgtTotalDataTotalVo getTotalDataTotal(MgtBaseShopDto mgtBaseShopDto){
+    public MgtTotalDataTotalVo getTotalDataTotal(MgtBaseShopDto mgtBaseShopDto) {
         //获取人数统计
         MgtTotalDataTotalVo mgtTotalDataTotalVo = orderMapper.getTotalDataTotal(mgtBaseShopDto);
         BigDecimal salesTotal = orderMapper.shopSalesTotal(mgtBaseShopDto);
@@ -1498,26 +1526,26 @@
     }
 
     /**
-     * @description
-     * @author  jqs
-     * @date    2023/6/21 15:26
      * @param mgtBasePlatformDto
-     * @return  List<MgtMapTotalVo>
+     * @return List<MgtMapTotalVo>
+     * @description
+     * @author jqs
+     * @date 2023/6/21 15:26
      */
     @Override
-    public List<MgtMapTotalVo> listMemberGoodsRank(MgtBasePlatformDto mgtBasePlatformDto){
+    public List<MgtMapTotalVo> listMemberGoodsRank(MgtBasePlatformDto mgtBasePlatformDto) {
         return orderMapper.listMemberGoodsRank(mgtBasePlatformDto);
     }
 
     /**
-     * @description 获取平台商户数据统计
      * @param mgtBasePlatformDto
      * @return List<MgtTotalDataTotalVo>
+     * @description 获取平台商户数据统计
      * @author jqs34
      * @date 2023/6/23 14:01
      */
     @Override
-    public List<MgtTotalDataTotalVo> getPlTotalDataTotal(MgtBasePlatformDto mgtBasePlatformDto){
+    public List<MgtTotalDataTotalVo> getPlTotalDataTotal(MgtBasePlatformDto mgtBasePlatformDto) {
         //获取需要关联的用户id集合
         if (mgtBasePlatformDto.getDeptId() != null) {
             List<Long> userIdList = new ArrayList<>();
@@ -1537,8 +1565,8 @@
         List<MgtTotalDataTotalVo> mgtTotalDataTotalVoList = new ArrayList<>();
         MgtBaseShopDto mgtBaseShopDto;
         MgtTotalDataTotalVo mgtTotalDataTotalVo;
-        if(shopIdList!=null&&!shopIdList.isEmpty()){
-            for(Long shopId : shopIdList){
+        if (shopIdList != null && !shopIdList.isEmpty()) {
+            for (Long shopId : shopIdList) {
                 mgtBaseShopDto = new MgtBaseShopDto();
                 mgtBaseShopDto.setStartDate(mgtBasePlatformDto.getStartDate());
                 mgtBaseShopDto.setEndDate(mgtBasePlatformDto.getEndDate());
@@ -1553,14 +1581,14 @@
     }
 
     /**
-     * @description 获取平台商户订单统计
      * @param mgtBasePlatformDto
      * @return MgtTotalOrderTotalVo
+     * @description 获取平台商户订单统计
      * @author jqs34
      * @date 2023/6/19 22:23
      */
     @Override
-    public MgtTotalOrderTotalVo getPlTotalOrderTotal(MgtBasePlatformDto mgtBasePlatformDto){
+    public MgtTotalOrderTotalVo getPlTotalOrderTotal(MgtBasePlatformDto mgtBasePlatformDto) {
         //获取需要关联的用户id集合
         if (mgtBasePlatformDto.getDeptId() != null) {
             List<Long> userIdList = new ArrayList<>();
@@ -1613,25 +1641,27 @@
                 mgtMapBigTotalVo = new MgtMapBigTotalVo();
                 mgtMapTotalVo.setMapValue(mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
                 mgtMapBigTotalVo.setMapValue(mgtMapTotalVoGoodsType.get(i).getMapValueSecond());
-                if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("1")){
+                if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("1")) {
                     mgtMapTotalVo.setMapKey("周期");
                     mgtMapBigTotalVo.setMapKey("周期");
-                    mgtTotalOrderTotalVo.setCycleTotal(mgtTotalOrderTotalVo.getCycleTotal()+mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
+                    mgtTotalOrderTotalVo.setCycleTotal(mgtTotalOrderTotalVo.getCycleTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
                     mgtTotalOrderTotalVo.setCycleMoney(mgtTotalOrderTotalVo.getCycleMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
-                }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("2")){
+                } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("2")) {
                     mgtMapTotalVo.setMapKey("服务");
                     mgtMapBigTotalVo.setMapKey("服务");
-                    mgtTotalOrderTotalVo.setServiceTotal(mgtTotalOrderTotalVo.getServiceTotal()+mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
+                    mgtTotalOrderTotalVo.setServiceTotal(mgtTotalOrderTotalVo.getServiceTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
                     mgtTotalOrderTotalVo.setServiceMoney(mgtTotalOrderTotalVo.getServiceMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
-                }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("3")){
+                } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("3")) {
                     mgtMapTotalVo.setMapKey("体验");
                     mgtMapBigTotalVo.setMapKey("体验");
-                    mgtTotalOrderTotalVo.setExperienceTotal(mgtTotalOrderTotalVo.getExperienceTotal()+mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
+                    mgtTotalOrderTotalVo.setExperienceTotal(mgtTotalOrderTotalVo.getExperienceTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
                     mgtTotalOrderTotalVo.setExperienceMoney(mgtTotalOrderTotalVo.getExperienceMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
-                }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("4")){
+                } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("4")) {
                     mgtMapTotalVo.setMapKey("单品");
                     mgtMapBigTotalVo.setMapKey("单品");
                 }
+                goodsTypeTotalList.add(mgtMapTotalVo);
+                goodsTypeMoneyList.add(mgtMapBigTotalVo);
             }
             mgtTotalOrderTotalVo.setGoodsTypeTotalList(goodsTypeTotalList);
             mgtTotalOrderTotalVo.setGoodsTypeMoneyList(goodsTypeMoneyList);
@@ -1652,14 +1682,14 @@
     }
 
     /**
-     * @description
-     * @author  jqs
-     * @date    2023/6/20 9:27
      * @param mgtBasePlatformDto
-     * @return  MgtTotalActivityTotalVo
+     * @return MgtTotalActivityTotalVo
+     * @description
+     * @author jqs
+     * @date 2023/6/20 9:27
      */
     @Override
-    public MgtPlTotalActivityTotalVo getPlTotalActivityTotal(MgtBasePlatformDto mgtBasePlatformDto){
+    public MgtPlTotalActivityTotalVo getPlTotalActivityTotal(MgtBasePlatformDto mgtBasePlatformDto) {
         //获取需要关联的用户id集合
         if (mgtBasePlatformDto.getDeptId() != null) {
             List<Long> userIdList = new ArrayList<>();
@@ -1698,22 +1728,22 @@
                 mgtMapBigTotalVo = new MgtMapBigTotalVo();
                 mgtMapTotalVo.setMapValue(mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
                 mgtMapBigTotalVo.setMapValue(mgtMapTotalVoGoodsType.get(i).getMapValueSecond());
-                if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("1")){
+                if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("1")) {
                     mgtMapTotalVo.setMapKey("周期");
                     mgtMapBigTotalVo.setMapKey("周期");
-                    totalActivityTotalVo.setCycleTotal(totalActivityTotalVo.getCycleTotal()+mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
+                    totalActivityTotalVo.setCycleTotal(totalActivityTotalVo.getCycleTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
                     totalActivityTotalVo.setCycleMoney(totalActivityTotalVo.getCycleMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
-                }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("2")){
+                } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("2")) {
                     mgtMapTotalVo.setMapKey("服务");
                     mgtMapBigTotalVo.setMapKey("服务");
-                    totalActivityTotalVo.setServiceTotal(totalActivityTotalVo.getServiceTotal()+mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
+                    totalActivityTotalVo.setServiceTotal(totalActivityTotalVo.getServiceTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
                     totalActivityTotalVo.setServiceMoney(totalActivityTotalVo.getServiceMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
-                }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("3")){
+                } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("3")) {
                     mgtMapTotalVo.setMapKey("体验");
                     mgtMapBigTotalVo.setMapKey("体验");
-                    totalActivityTotalVo.setExperienceTotal(totalActivityTotalVo.getExperienceTotal()+mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
+                    totalActivityTotalVo.setExperienceTotal(totalActivityTotalVo.getExperienceTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
                     totalActivityTotalVo.setExperienceMoney(totalActivityTotalVo.getExperienceMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
-                }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("4")){
+                } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("4")) {
                     mgtMapTotalVo.setMapKey("单品");
                     mgtMapBigTotalVo.setMapKey("单品");
                 }
@@ -1772,33 +1802,47 @@
     }
 
     /**
-     * @description
-     * @author  jqs
-     * @date    2023/6/20 9:56
      * @param mgtPlActivityAgeDto
-     * @return  MgtTotalActivityTotalVo
+     * @return MgtTotalActivityTotalVo
+     * @description
+     * @author jqs
+     * @date 2023/6/20 9:56
      */
     @Override
-    public List<MgtMapTotalPlusVo> getPlTotalActivityAgeRank(MgtPlActivityAgeDto mgtPlActivityAgeDto){
+    public MgtPlTotalActivityTotalVo getPlTotalActivityAgeRank(MgtPlActivityAgeDto mgtPlActivityAgeDto) {
         List<Long> userIds = orderMapper.getPlUserIdAgeRank(mgtPlActivityAgeDto);
         MgtActivityAgeDto mgtActivityAgeDto = new MgtActivityAgeDto();
         mgtActivityAgeDto.setUserIds(userIds);
         mgtActivityAgeDto.setAgeType(mgtPlActivityAgeDto.getAgeType());
         userIds = remoteMemberService.listUserIdByAge(mgtActivityAgeDto).getData();
         mgtPlActivityAgeDto.setUserIds(userIds);
-        List<MgtMapTotalPlusVo> ageRankList = orderMapper.getPlTotalActivityAgeRank(mgtPlActivityAgeDto);
-        return ageRankList;
+        List<MgtMapTotalVo> ageRankList = orderMapper.getPlTotalActivityAgeRank(mgtPlActivityAgeDto);
+        ageRankList = listRemoveNull(ageRankList);
+        MgtPlTotalActivityTotalVo plTotalActivityTotalVo = new MgtPlTotalActivityTotalVo();
+        String[] activityAgeKey = new String[ageRankList.size()];
+        Integer[] activityAgeValue = new Integer[ageRankList.size()];
+        if (!ageRankList.isEmpty()) {
+            MgtMapTotalVo mgtMapTotalVo;
+            for (int i = 0; i < ageRankList.size(); i++) {
+                mgtMapTotalVo = ageRankList.get(i);
+                activityAgeKey[i] = mgtMapTotalVo.getMapKey();
+                activityAgeValue[i] = mgtMapTotalVo.getMapValue();
+            }
+        }
+        plTotalActivityTotalVo.setActivityAgeKey(activityAgeKey);
+        plTotalActivityTotalVo.setActivityAgeValue(activityAgeValue);
+        return plTotalActivityTotalVo;
     }
 
     /**
-     * @description  获取优惠券核销信息
-     * @author  jqs
-     * @date    2023/6/27 11:10
      * @param verifyCode
-     * @return  MerVerifyCouponVo
+     * @return MerVerifyCouponVo
+     * @description 获取优惠券核销信息
+     * @author jqs
+     * @date 2023/6/27 11:10
      */
     @Override
-    public MerVerifyCouponVo verifyCoupon(String verifyCode){
+    public MerVerifyCouponVo verifyCoupon(String verifyCode) {
         MerVerifyCouponVo merVerifyCouponVo = new MerVerifyCouponVo();
         MerVerifyCouponGetVo verifyCouponGetVo = remoteCouponService.getVerifyCoupon(verifyCode).getData();
 
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
index 18a368d..fd0480c 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
@@ -267,7 +267,7 @@
      * @param mgtPLActivityAgeDto
      * @return  MgtTotalActivityTotalVo
      */
-    List<MgtMapTotalPlusVo> getPlTotalActivityAgeRank(MgtPlActivityAgeDto mgtPLActivityAgeDto);
+    MgtPlTotalActivityTotalVo getPlTotalActivityAgeRank(MgtPlActivityAgeDto mgtPLActivityAgeDto);
 
     /**
      * @description  获取优惠券核销信息
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
index 2695074..93ebf10 100644
--- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
+++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -803,10 +803,10 @@
         </if>
     </select>
 
-    <select id="getTotalActivityAgeRank" resultType="com.ruoyi.order.domain.vo.MgtMapTotalPlusVo">
+    <select id="getTotalActivityAgeRank" resultType="com.ruoyi.system.api.domain.vo.MgtMapTotalVo">
         SELECT
         DATE_FORMAT(create_time, '%Y-%m-%d') AS mapKey,
-        COUNT(DISTINCT user_id) AS mapValueFirst
+        COUNT(DISTINCT user_id) AS mapValue
         FROM
         t_order
         WHERE
@@ -1143,10 +1143,10 @@
         </if>
     </select>
 
-    <select id="getPlTotalActivityAgeRank" resultType="com.ruoyi.order.domain.vo.MgtMapTotalPlusVo">
+    <select id="getPlTotalActivityAgeRank" resultType="com.ruoyi.system.api.domain.vo.MgtMapTotalVo">
         SELECT
         DATE_FORMAT(create_time, '%Y-%m-%d') AS mapKey,
-        COUNT(DISTINCT user_id) AS mapValueFirst
+        COUNT(DISTINCT user_id) AS mapValue
         FROM t_order
         WHERE del_flag = 0 AND order_from = 2
         AND create_time >= DATE_SUB(CURDATE(), INTERVAL 6 DAY)
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java
index c8dac50..d378a00 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java
@@ -13,6 +13,7 @@
 import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -80,7 +81,7 @@
     @RequestMapping(value = "/createMgtShop", method = RequestMethod.POST)
     @Log(title = "商户管理", businessType = BusinessType.UPDATE,operContent = "编辑商户")
     @ApiOperation(value = "平台编辑商户")
-    public R createMgtShop(@RequestBody MgtEditShopDto mgtEditShopDto) {
+    public R createMgtShop(@Validated @RequestBody MgtEditShopDto mgtEditShopDto) {
         Long userId = SecurityUtils.getUserId();
         mgtEditShopDto.setUserId(userId);
         shopService.createShop(mgtEditShopDto);
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtEditShopDto.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtEditShopDto.java
index 7751f40..2f6d1c3 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtEditShopDto.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtEditShopDto.java
@@ -5,6 +5,8 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import javax.validation.constraints.NotNull;
+
 /**
  * @author jqs34
  * @ClassName ManageCreateShopDto
@@ -20,9 +22,11 @@
     private Long shopId;
 
     @ApiModelProperty("商户名称")
+    @NotNull(message = "商户名称不能为空")
     private String shopName;
 
     @ApiModelProperty("商户类型1.经销商2.代理商")
+    @NotNull(message = "商户类型不能为空")
     private Integer shopType;
 
     @ApiModelProperty("营业开始时间")
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java
index 808e0fa..ef3fbf3 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java
@@ -15,6 +15,7 @@
 import com.ruoyi.system.service.config.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -249,7 +250,7 @@
     @RequestMapping(value = "/editOtherConfig", method = RequestMethod.POST)
     @Log(title = "其它设置管理", businessType = BusinessType.UPDATE,operContent = "修改其它设置")
     @ApiOperation(value = "修改其它设置")
-    public R editOtherConfig(@RequestBody MgtOtherConfigEditDto mgtOtherConfigEditDto) {
+    public R editOtherConfig(@Validated @RequestBody MgtOtherConfigEditDto mgtOtherConfigEditDto) {
         customConfigService.editOtherConfig(mgtOtherConfigEditDto);
         return R.ok();
     }
@@ -257,7 +258,7 @@
     @RequestMapping(value = "/editShopConfig", method = RequestMethod.POST)
     @Log(title = "其它设置管理", businessType = BusinessType.UPDATE,operContent = "修改合作商配置")
     @ApiOperation(value = "修改合作商配置")
-    public R editShopConfig(@RequestBody MgtShopConfigEditDto mgtShopConfigEditDto) {
+    public R editShopConfig(@Validated @RequestBody MgtShopConfigEditDto mgtShopConfigEditDto) {
         customConfigService.editShopConfig(mgtShopConfigEditDto);
         return R.ok();
     }
@@ -265,7 +266,7 @@
     @RequestMapping(value = "/editMemberConfig", method = RequestMethod.POST)
     @Log(title = "其它设置管理", businessType = BusinessType.UPDATE,operContent = "修改会员配置")
     @ApiOperation(value = "修改会员配置")
-    public R editMemberConfig(@RequestBody MgtMemberConfigEditDto mgtMemberConfigEditDto) {
+    public R editMemberConfig(@Validated @RequestBody MgtMemberConfigEditDto mgtMemberConfigEditDto) {
         customConfigService.editMemberConfig(mgtMemberConfigEditDto);
         return R.ok();
     }
@@ -273,7 +274,7 @@
     @RequestMapping(value = "/editAdvert", method = RequestMethod.POST)
     @Log(title = "其它设置管理", businessType = BusinessType.UPDATE,operContent = "修改广告配置")
     @ApiOperation(value = "修改广告配置")
-    public R editAdvert(@RequestBody MgtAdvertEditDto mgtAdvertEditDto) {
+    public R editAdvert(@Validated @RequestBody MgtAdvertEditDto mgtAdvertEditDto) {
         mgtAdvertEditDto.setUserId(SecurityUtils.getUserId());
         advertService.editMgtAdvert(mgtAdvertEditDto);
         return R.ok();
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtStaffController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtStaffController.java
index 5bca46f..3471950 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtStaffController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtStaffController.java
@@ -16,6 +16,7 @@
 import com.ruoyi.system.service.staff.SysStaffService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -128,7 +129,7 @@
     @RequestMapping(value = "/mgtEditStaff", method = RequestMethod.POST)
     @Log(title = "员工管理", businessType = BusinessType.UPDATE,operContent = "编辑员工")
     @ApiOperation(value = "平台编辑员工")
-    public R mgtEditStaff(@RequestBody MgtStaffEditDto mgtStaffEditDto) {
+    public R mgtEditStaff(@Validated  @RequestBody MgtStaffEditDto mgtStaffEditDto) {
         Long userId = SecurityUtils.getUserId();
         mgtStaffEditDto.setUserId(userId);
         sysStaffService.mgtStaffEdit(mgtStaffEditDto);
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffEditDto.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffEditDto.java
index e1b5cd4..d325404 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffEditDto.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffEditDto.java
@@ -4,6 +4,8 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import javax.validation.constraints.NotNull;
+
 /**
  * @author jqs34
  * @version 1.0
@@ -16,6 +18,7 @@
 
 
         @ApiModelProperty(value = "部门id")
+        @NotNull(message = "部门id不能为空")
         private Long deptId;
         /**
          * 用户id
@@ -26,11 +29,13 @@
          * 员工姓名
          */
         @ApiModelProperty(value = "员工姓名")
+        @NotNull(message = "员工姓名不能为空")
         private String staffName;
         /**
          * 员工电话
          */
         @ApiModelProperty(value = "员工电话")
+        @NotNull(message = "员工电话不能为空")
         private String staffMobile;
         /**
          * 员工邮箱
@@ -51,6 +56,7 @@
          * 负责人标记
          */
         @ApiModelProperty(value = "负责人标记")
+        @NotNull(message = "负责人标记不能为空")
         private String headFlag;
 
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java
index 474dcc3..5bb8b99 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.exception.ServiceException;
+import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.utils.uuid.IdUtils;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.system.api.constant.AppErrorConstant;
@@ -104,6 +105,9 @@
         queryWrapper.eq(SysStaff::getDelFlag,0);
         queryWrapper.eq(SysStaff::getStaffMobile,mgtStaffEditDto.getStaffMobile());
         SysStaff sysStaffSame = this.getOne(queryWrapper, false);
+        if(StringUtils.isBlank(mgtStaffEditDto.getStaffAvatar())){
+            mgtStaffEditDto.setStaffAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png");
+        }
         if(mgtStaffEditDto.getSysUserId()!=null){
             if(sysStaffSame!=null&&!sysStaffSame.getUserId().equals(mgtStaffEditDto.getSysUserId())){
                 throw new ServiceException(AppErrorConstant.STAFF_MOBILE_DOUBLE);

--
Gitblit v1.7.1