From 1ffb6c7910cfb4d55b4c169142b67ea872fcf614 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期二, 27 六月 2023 19:55:50 +0800
Subject: [PATCH] BUG联调

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java |  108 ++++++++++++++++++++++-------------------------------
 1 files changed, 45 insertions(+), 63 deletions(-)

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 87aab84..ff6b573 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
@@ -1096,8 +1096,14 @@
         //获取基础统计
         MgtPlTotalMemberTotalVo plTotalMemberTotalVo = memberMapper.getPlTotalMemberTotal(mgtBasePlatformDto);
         MgtAgeTotalVo mgtAgeTotalVo = memberMapper.getPlTotalMemberTotalAge(mgtBasePlatformDto);
-        plTotalMemberTotalVo.setManTotal(mgtAgeTotalVo.getManTotal());
-        plTotalMemberTotalVo.setWomenTotal(mgtAgeTotalVo.getWomenTotal());
+        if(mgtAgeTotalVo!=null){
+            plTotalMemberTotalVo.setManTotal(mgtAgeTotalVo.getManTotal());
+            plTotalMemberTotalVo.setWomenTotal(mgtAgeTotalVo.getWomenTotal());
+        }else{
+            plTotalMemberTotalVo.setManTotal(0);
+            plTotalMemberTotalVo.setWomenTotal(0);
+        }
+
         // 年龄段数组
         String[] ageKey = {"<20", "21-30", "31-40", "41-50", ">50"};
         // 不同年龄段的会员数数组
@@ -1105,109 +1111,85 @@
         // 设置年龄段数组和不同年龄段的会员数数组
         plTotalMemberTotalVo.setAgeKey(ageKey);
         plTotalMemberTotalVo.setAgeValue(ageValue);
-        // 获取不同护理类型的会员数
+        // 获取不同调理类型的会员数
         List<MgtMapTotalVo> nurseTotalVos = memberMapper.getPlTotalMemberTotalNurse(mgtBasePlatformDto);
         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();
-            }
-            plTotalMemberTotalVo.setNurseKey(nurseKey);
-            plTotalMemberTotalVo.setNurseValue(nurseValue);
+            nurseTotalVos = listRemoveNull(nurseTotalVos);
+            plTotalMemberTotalVo.setNurseTotalVos(nurseTotalVos);
         }
         // 获取不同商品类型的会员数
         List<MgtMapTotalVo> goodsTypeTotalVos = memberMapper.getPlTotalMemberTotalGoodsType(mgtBasePlatformDto);
         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();
-            }
-            plTotalMemberTotalVo.setGoodsTypeKey(goodsTypeKey);
-            plTotalMemberTotalVo.setGoodsTypeValue(goodsTypeValue);
+            goodsTypeTotalVos = listRemoveNull(goodsTypeTotalVos);
+            plTotalMemberTotalVo.setGoodsTypeTotalVos(goodsTypeTotalVos);
         }
         // 获取不同活跃度的会员数
         List<Long> shopIdList = mgtBasePlatformDto.getShopIdList();
         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.getPlTotalMemberTotalActiveness(shopIdList, actStartDate, actEndDate);
-                activenessKey[i] = activeness.getActivenessName();
-                activenessValue[i] = count;
+                if(StringUtils.isNotBlank(activeness.getActivenessName())){
+                    mgtMapTotalVo = new MgtMapTotalVo();
+                    mgtMapTotalVo.setMapKey(activeness.getActivenessName());
+                    mgtMapTotalVo.setMapValue(count);
+                }
             }
-            plTotalMemberTotalVo.setActivenessKey(activenessKey);
-            plTotalMemberTotalVo.setActivenessValue(activenessValue);
+            plTotalMemberTotalVo.setActivenessList(mgtMapTotalVoList);
         }
         //获取会员消费排名
         List<MgtMapTotalVo> memberPayList = memberMapper.getPlTotalMemberRankPay(mgtBasePlatformDto);
         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();
-            }
-            plTotalMemberTotalVo.setOrderRankKey(memberPayKey);
-            plTotalMemberTotalVo.setOrderRankValue(memberPayValue);
+            memberPayList = listRemoveNull(memberPayList);
+            plTotalMemberTotalVo.setMemberPayList(memberPayList);
         }
         //获取来源渠道排名
         List<MgtMapTotalVo> customerSourceList = memberMapper.getPlTotalMemberRankCustomerSource(mgtBasePlatformDto);
         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();
-            }
-            plTotalMemberTotalVo.setCustomerSourceKey(customerSourceKey);
-            plTotalMemberTotalVo.setCustomerSourceValue(customerSourceValue);
+            customerSourceList = listRemoveNull(customerSourceList);
+            plTotalMemberTotalVo.setCustomerSourceList(customerSourceList);
         }
         //获取商铺会员排名
         List<MgtMapTotalVo> shopMemberRankList = memberMapper.getPlTotalMemberRank(mgtBasePlatformDto);
         if (shopMemberRankList != null && shopMemberRankList.size() > 0) {
-            String[] shopMemberRankKey = new String[shopMemberRankList.size()];
-            Integer[] shopMemberRankValue = new Integer[shopMemberRankList.size()];
-            // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
-            for (int i = 0; i < shopMemberRankList.size(); i++) {
-                shopMemberRankKey[i] = shopMemberRankList.get(i).getMapKey();
-                shopMemberRankValue[i] = shopMemberRankList.get(i).getMapValue();
-            }
-            plTotalMemberTotalVo.setMemberRankKey(shopMemberRankKey);
-            plTotalMemberTotalVo.setMemberRankValue(shopMemberRankValue);
+            shopMemberRankList = listRemoveNull(shopMemberRankList);
+            plTotalMemberTotalVo.setShopMemberRankList(shopMemberRankList);
         }
         List<MgtMapTotalVo> memberGoodsRankList = remoteOrderService.listMemberGoodsRank(mgtBasePlatformDto).getData();
         if (memberGoodsRankList != null && memberGoodsRankList.size() > 0) {
-            String[] shopMemberRankKey = new String[memberGoodsRankList.size()];
-            Integer[] shopMemberRankValue = new Integer[memberGoodsRankList.size()];
-            // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
-            for (int i = 0; i < memberGoodsRankList.size(); i++) {
-                shopMemberRankKey[i] = memberGoodsRankList.get(i).getMapKey();
-                shopMemberRankValue[i] = memberGoodsRankList.get(i).getMapValue();
-            }
-            plTotalMemberTotalVo.setGoodsRankKey(shopMemberRankKey);
-            plTotalMemberTotalVo.setGoodsRankValue(shopMemberRankValue);
+            memberGoodsRankList = listRemoveNull(memberGoodsRankList);
+            plTotalMemberTotalVo.setMemberGoodsRankList(memberGoodsRankList);
         }
         return plTotalMemberTotalVo;
     }
 
     /**
+     * @description  去除空字符串
+     * @author  jqs
+     * @date    2023/6/27 17:35
+     * @param mgtMapTotalVos
+     * @return  List<MgtMapTotalVo>
+     */
+    private List<MgtMapTotalVo> listRemoveNull(List<MgtMapTotalVo> mgtMapTotalVos){
+        for (int i = 0; i < mgtMapTotalVos.size(); i++) {
+            if(StringUtils.isBlank(mgtMapTotalVos.get(i).getMapKey())){
+                mgtMapTotalVos.remove(i);
+            }
+        }
+        return mgtMapTotalVos;
+    }
+
+    /**
      * @description  通过shopId获取userId
      * @author  jqs
      * @date    2023/6/21 17:11

--
Gitblit v1.7.1