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-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java |  328 +++++++++++++++++++++++++++++++-----------------------
 1 files changed, 186 insertions(+), 142 deletions(-)

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();
 

--
Gitblit v1.7.1