| | |
| | | // 获取不同护理类型的会员数 |
| | | 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; |
| | |
| | | mgtMapTotalVo = new MgtMapTotalVo(); |
| | | mgtMapTotalVo.setMapKey(activeness.getActivenessName()); |
| | | mgtMapTotalVo.setMapValue(count); |
| | | mgtMapTotalVoList.add(mgtMapTotalVo); |
| | | } |
| | | } |
| | | plTotalMemberTotalVo.setActivenessList(mgtMapTotalVoList); |