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/service/impl/member/MemberServiceImpl.java | 58 ++++++++++++++++------------------------------------------ 1 files changed, 16 insertions(+), 42 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 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); -- Gitblit v1.7.1