bug
jiangqs
2023-08-28 e153b340f4371ea7bbeb3009a382837ffd60a4b9
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -784,7 +784,7 @@
                    orderId, order.getPayMoney(), appPlaceOrderDto.getOpenid(),
                    appPlaceOrderDto.getSpbillCreateIp(), goodsNameList,1);
            //生成自动取消订单延时任务
            String payStr = appPlaceOrderVo.getAppId()+"-"+appPlaceOrderVo.getTimeStamp()+"-"+appPlaceOrderVo.getNonceStr()+"-"+appPlaceOrderVo.getPackageStr()+"-"+appPlaceOrderVo.getSignType()+"-"+appPlaceOrderVo.getSignType()+"-"+appPlaceOrderVo.getPaySign();
            String payStr = appPlaceOrderVo.getAppId()+"-"+appPlaceOrderVo.getTimeStamp()+"-"+appPlaceOrderVo.getNonceStr()+"-"+appPlaceOrderVo.getPackageStr()+"-"+appPlaceOrderVo.getSignType()+"-"+appPlaceOrderVo.getPaySign();
            redisService.setCacheObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + orderId, payStr , delayTime.longValue(), TimeUnit.MINUTES);
            DelayTask delayTask = new DelayTask();
            delayTask.setDelFlag(0);
@@ -1180,11 +1180,11 @@
            }
            appPlaceOrderVo.setEndTime(DateUtils.addMinutes(order.getCreateTime(), delayTime));
            // 小程序微信下单支付
            createWxPayInfo(appPlaceOrderVo, userId, order.getShopId(), orderGoods.getGoodsName(), orderNo,
            createWxPayInfo(appPlaceOrderVo, userId, order.getShopId(), orderGoods.getGoodsName(), outTradeNo,
                    orderId, order.getPayMoney(), appPlaceActivityDto.getOpenid(),
                    appPlaceActivityDto.getSpbillCreateIp(), goodsNameList,2);
            //生成自动取消订单延时任务
            String payStr = appPlaceOrderVo.getAppId()+"-"+appPlaceOrderVo.getTimeStamp()+"-"+appPlaceOrderVo.getNonceStr()+"-"+appPlaceOrderVo.getPackageStr()+"-"+appPlaceOrderVo.getSignType()+"-"+appPlaceOrderVo.getSignType()+"-"+appPlaceOrderVo.getPaySign();
            String payStr = appPlaceOrderVo.getAppId()+"-"+appPlaceOrderVo.getTimeStamp()+"-"+appPlaceOrderVo.getNonceStr()+"-"+appPlaceOrderVo.getPackageStr()+"-"+appPlaceOrderVo.getSignType()+"-"+appPlaceOrderVo.getPaySign();
            redisService.setCacheObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + orderId, payStr , delayTime.longValue(), TimeUnit.MINUTES);
            DelayTask delayTask = new DelayTask();
            delayTask.setDelFlag(0);
@@ -1333,7 +1333,7 @@
        if(order.getOrderStatus()!=1){
            throw new ServiceException(AppErrorConstant.CANCEL_CANCEL_ORDER);
        }
        String payStr = redisService.getCacheObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode()+orderId);
        String payStr = redisService.getCacheObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode()+ "-"+orderId);
        if(StringUtils.isBlank(payStr)){
            throw new ServiceException(AppErrorConstant.CANCEL_CANCEL_ORDER);
        }
@@ -1342,7 +1342,7 @@
            delayTime = redisService.getCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME);
        }
        AppPlaceOrderVo appPlaceOrderVo = new AppPlaceOrderVo();
        OrderPayment orderPayment = orderPaymentService.getByOrderId(orderId);
        OrderPayment orderPayment = orderPaymentService.getByUnpaidOrderId(orderId);
        String[] payArr = payStr.split("-");
        appPlaceOrderVo.setOrderId(order.getOrderId());
        appPlaceOrderVo.setOrderNo(order.getOrderNo());
@@ -1703,7 +1703,7 @@
        } catch (WxPayException e) {
            resultMessage = String.format("订单分账:%s 分账失败:%s", orderNo, e.getMessage());
            log.info(resultMessage);
            e.printStackTrace();
            throw new ServiceException(resultMessage);
        }
        // 保存分账信息
@@ -2813,34 +2813,83 @@
        List<MgtMapIntTotalVo> goodsTypeTotalList = new ArrayList<>();
        List<MgtMapBigTotalVo> goodsTypeMoneyList = new ArrayList<>();
        if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) {
            MgtMapIntTotalVo MgtMapIntTotalVo;
            MgtMapIntTotalVo mgtMapIntTotalVo;
            MgtMapBigTotalVo mgtMapBigTotalVo;
            // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
            Boolean noCycle = true;
            Boolean noService = true;
            Boolean noExperience = true;
            Boolean noGoods = true;
            for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) {
                MgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapBigTotalVo = new MgtMapBigTotalVo();
                MgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
                mgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
                mgtMapBigTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond());
                if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) {
                    MgtMapIntTotalVo.setMapKey("周期");
                    mgtMapIntTotalVo.setMapKey("周期");
                    mgtMapBigTotalVo.setMapKey("周期");
                    mgtTotalOrderTotalVo.setCycleTotal(mgtTotalOrderTotalVo.getCycleTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
                    mgtTotalOrderTotalVo.setCycleMoney(mgtTotalOrderTotalVo.getCycleMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
                    noCycle= false;
                } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) {
                    MgtMapIntTotalVo.setMapKey("服务");
                    mgtMapIntTotalVo.setMapKey("服务");
                    mgtMapBigTotalVo.setMapKey("服务");
                    mgtTotalOrderTotalVo.setServiceTotal(mgtTotalOrderTotalVo.getServiceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
                    mgtTotalOrderTotalVo.setServiceMoney(mgtTotalOrderTotalVo.getServiceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
                    noService= false;
                } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) {
                    MgtMapIntTotalVo.setMapKey("体验");
                    mgtMapIntTotalVo.setMapKey("体验");
                    mgtMapBigTotalVo.setMapKey("体验");
                    mgtTotalOrderTotalVo.setExperienceTotal(mgtTotalOrderTotalVo.getExperienceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
                    mgtTotalOrderTotalVo.setExperienceMoney(mgtTotalOrderTotalVo.getExperienceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
                    noExperience = false;
                } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) {
                    MgtMapIntTotalVo.setMapKey("单品");
                    mgtMapIntTotalVo.setMapKey("单品");
                    mgtMapBigTotalVo.setMapKey("单品");
                    noGoods = false;
                }
                goodsTypeTotalList.add(MgtMapIntTotalVo);
                //补充缺少类型
                if(noCycle){
                    mgtMapIntTotalVo = new MgtMapIntTotalVo();
                    mgtMapIntTotalVo.setMapKey("周期");
                    mgtMapIntTotalVo.setMapValue(0);
                    goodsTypeTotalList.add(mgtMapIntTotalVo);
                    mgtMapBigTotalVo = new MgtMapBigTotalVo();
                    mgtMapBigTotalVo.setMapKey("周期");
                    mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                    goodsTypeMoneyList.add(mgtMapBigTotalVo);
                }
                if(noService){
                    mgtMapIntTotalVo = new MgtMapIntTotalVo();
                    mgtMapIntTotalVo.setMapKey("服务");
                    mgtMapIntTotalVo.setMapValue(0);
                    goodsTypeTotalList.add(mgtMapIntTotalVo);
                    mgtMapBigTotalVo = new MgtMapBigTotalVo();
                    mgtMapBigTotalVo.setMapKey("服务");
                    mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                    goodsTypeMoneyList.add(mgtMapBigTotalVo);
                }
                if(noExperience){
                    mgtMapIntTotalVo = new MgtMapIntTotalVo();
                    mgtMapIntTotalVo.setMapKey("体验");
                    mgtMapIntTotalVo.setMapValue(0);
                    goodsTypeTotalList.add(mgtMapIntTotalVo);
                    mgtMapBigTotalVo = new MgtMapBigTotalVo();
                    mgtMapBigTotalVo.setMapKey("体验");
                    mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                    goodsTypeMoneyList.add(mgtMapBigTotalVo);
                }
                if(noGoods){
                    mgtMapIntTotalVo = new MgtMapIntTotalVo();
                    mgtMapIntTotalVo.setMapKey("单品");
                    mgtMapIntTotalVo.setMapValue(0);
                    goodsTypeTotalList.add(mgtMapIntTotalVo);
                    mgtMapBigTotalVo = new MgtMapBigTotalVo();
                    mgtMapBigTotalVo.setMapKey("单品");
                    mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                    goodsTypeMoneyList.add(mgtMapBigTotalVo);
                }
                goodsTypeTotalList.add(mgtMapIntTotalVo);
                goodsTypeMoneyList.add(mgtMapBigTotalVo);
            }
            mgtTotalOrderTotalVo.setGoodsTypeTotalList(goodsTypeTotalList);
@@ -2861,8 +2910,8 @@
        //订单分布
        //日期全部时固定为5天
        if(StringUtils.isBlank(mgtBaseShopDto.getStartDate())){
            mgtBaseShopDto.setStartDate(DateUtils.getDate());
            mgtBaseShopDto.setEndDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4)));
            mgtBaseShopDto.setEndDate(DateUtils.getDate());
            mgtBaseShopDto.setStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4)));
        }
        List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listTotalOrderTotal(mgtBaseShopDto);
        if (MgtMapIntTotalVos != null && MgtMapIntTotalVos.size() > 0) {
@@ -2942,34 +2991,83 @@
            totalActivityTotalVo.setExperienceTotal(0);
            totalActivityTotalVo.setExperienceMoney(BigDecimal.ZERO);
            // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
            MgtMapIntTotalVo MgtMapIntTotalVo;
            MgtMapIntTotalVo mgtMapIntTotalVo;
            MgtMapBigTotalVo mgtMapBigTotalVo;
            // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
            Boolean noCycle = true;
            Boolean noService = true;
            Boolean noExperience = true;
            Boolean noGoods = true;
            for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) {
                MgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapBigTotalVo = new MgtMapBigTotalVo();
                MgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
                mgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
                mgtMapBigTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond());
                if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) {
                    MgtMapIntTotalVo.setMapKey("周期");
                    mgtMapIntTotalVo.setMapKey("周期");
                    mgtMapBigTotalVo.setMapKey("周期");
                    totalActivityTotalVo.setCycleTotal(totalActivityTotalVo.getCycleTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
                    totalActivityTotalVo.setCycleMoney(totalActivityTotalVo.getCycleMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
                    noCycle= false;
                } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) {
                    MgtMapIntTotalVo.setMapKey("服务");
                    mgtMapIntTotalVo.setMapKey("服务");
                    mgtMapBigTotalVo.setMapKey("服务");
                    totalActivityTotalVo.setServiceTotal(totalActivityTotalVo.getServiceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
                    totalActivityTotalVo.setServiceMoney(totalActivityTotalVo.getServiceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
                    noService= false;
                } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) {
                    MgtMapIntTotalVo.setMapKey("体验");
                    mgtMapIntTotalVo.setMapKey("体验");
                    mgtMapBigTotalVo.setMapKey("体验");
                    totalActivityTotalVo.setExperienceTotal(totalActivityTotalVo.getExperienceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
                    totalActivityTotalVo.setExperienceMoney(totalActivityTotalVo.getExperienceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
                    noExperience = false;
                } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) {
                    MgtMapIntTotalVo.setMapKey("单品");
                    mgtMapIntTotalVo.setMapKey("单品");
                    mgtMapBigTotalVo.setMapKey("单品");
                    noGoods = false;
                }
                goodsTypeTotalList.add(MgtMapIntTotalVo);
                goodsTypeTotalList.add(mgtMapIntTotalVo);
                goodsTypeMoneyList.add(mgtMapBigTotalVo);
            }
            //补充缺少类型
            if(noCycle){
                mgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapIntTotalVo.setMapKey("周期");
                mgtMapIntTotalVo.setMapValue(0);
                goodsTypeTotalList.add(mgtMapIntTotalVo);
                mgtMapBigTotalVo = new MgtMapBigTotalVo();
                mgtMapBigTotalVo.setMapKey("周期");
                mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                goodsTypeMoneyList.add(mgtMapBigTotalVo);
            }
            if(noService){
                mgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapIntTotalVo.setMapKey("服务");
                mgtMapIntTotalVo.setMapValue(0);
                goodsTypeTotalList.add(mgtMapIntTotalVo);
                mgtMapBigTotalVo = new MgtMapBigTotalVo();
                mgtMapBigTotalVo.setMapKey("服务");
                mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                goodsTypeMoneyList.add(mgtMapBigTotalVo);
            }
            if(noExperience){
                mgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapIntTotalVo.setMapKey("体验");
                mgtMapIntTotalVo.setMapValue(0);
                goodsTypeTotalList.add(mgtMapIntTotalVo);
                mgtMapBigTotalVo = new MgtMapBigTotalVo();
                mgtMapBigTotalVo.setMapKey("体验");
                mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                goodsTypeMoneyList.add(mgtMapBigTotalVo);
            }
            if(noGoods){
                mgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapIntTotalVo.setMapKey("单品");
                mgtMapIntTotalVo.setMapValue(0);
                goodsTypeTotalList.add(mgtMapIntTotalVo);
                mgtMapBigTotalVo = new MgtMapBigTotalVo();
                mgtMapBigTotalVo.setMapKey("单品");
                mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                goodsTypeMoneyList.add(mgtMapBigTotalVo);
            }
            totalActivityTotalVo.setGoodsTypeTotalList(goodsTypeTotalList);
@@ -2979,8 +3077,8 @@
        //获取订单分布
        //日期全部时固定为5天
        if(StringUtils.isBlank(mgtBaseShopDto.getStartDate())){
            mgtBaseShopDto.setStartDate(DateUtils.getDate());
            mgtBaseShopDto.setEndDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4)));
            mgtBaseShopDto.setEndDate(DateUtils.getDate());
            mgtBaseShopDto.setStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4)));
        }
        List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listTotalActivityTotal(mgtBaseShopDto);
        if (MgtMapIntTotalVos != null && MgtMapIntTotalVos.size() > 0) {
@@ -2995,6 +3093,46 @@
            totalActivityTotalVo.setOrderTotalKey(orderTotalKey);
            totalActivityTotalVo.setOrderTotalValue(orderTotalValue);
            totalActivityTotalVo.setOrderMoneyValue(orderMoneyValue);
        }
        //参与人数
        List<MgtMapIntTotalVo> joinList = orderMapper.getActivityMemberTotal(mgtBaseShopDto);
        // 将查询结果转为Map
        Map<String, Integer> mgtMapIntTotalVoMap = new HashMap<>();
        if (joinList != null && !joinList.isEmpty()) {
            mgtMapIntTotalVoMap = joinList.stream()
                    .collect(Collectors.toMap(MgtMapIntTotalVo::getMapKey, MgtMapIntTotalVo::getMapValue));
        }
        // 获取日期范围
        List<String> dateList = getDateRange(mgtBaseShopDto.getStartDate(), mgtBaseShopDto.getEndDate());
        int size = dateList.size();
        // 创建日期和成员总数的数组
        String[] joinMemberTotalKey = new String[size];
        Integer[] joinMemberTotalValue = new Integer[size];
        // 遍历日期列表,设置日期和成员总数的数组
        String str;
        Integer value;
        for (int i = 0; i < size; i++) {
            str = dateList.get(i);
            joinMemberTotalKey[i] = str;
            value = mgtMapIntTotalVoMap.get(str);
            joinMemberTotalValue[i] = (value != null) ? value : 0;
        }
        totalActivityTotalVo.setJoinMemberTotalKey(joinMemberTotalKey);
        totalActivityTotalVo.setJoinMemberTotalValue(joinMemberTotalValue);
        return totalActivityTotalVo;
    }
    @Override
    public MgtTotalActivityTotalVo getTotalActivityJoinMemberTotal(MgtBaseShopDto mgtBaseShopDto) {
        MgtTotalActivityTotalVo totalActivityTotalVo = new MgtTotalActivityTotalVo();
        //日期全部时固定为5天
        if(StringUtils.isBlank(mgtBaseShopDto.getStartDate())){
            mgtBaseShopDto.setEndDate(DateUtils.getDate());
            mgtBaseShopDto.setStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4)));
        }
        if(mgtBaseShopDto.getAgeType()!=null){
            List<Long> userIdList = remoteMemberService.listUserIdByAgeType(mgtBaseShopDto.getAgeType()).getData();
            mgtBaseShopDto.setUserIdList(userIdList);
        }
        //参与人数
        List<MgtMapIntTotalVo> joinList = orderMapper.getActivityMemberTotal(mgtBaseShopDto);
@@ -3129,10 +3267,28 @@
                mgtBasePlatformDto.setUserIdList(userIdList);
            }
        }
        List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData();
        List<Long> shopIdList = new ArrayList<>();
        if(mgtBasePlatformDto.getShopId()!=null){
            shopIdList.add(mgtBasePlatformDto.getShopId());
        }else{
            shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData();
        }
        List<MgtTotalDataTotalVo> mgtTotalDataTotalVoList = new ArrayList<>();
        MgtBaseShopDto mgtBaseShopDto;
        MgtTotalDataTotalVo mgtTotalDataTotalVo;
        MgtSimpleShopVo simpleShopVo;
        HashSet<String> set = new HashSet<>();
        // 遍历MgtMemberOrderPageVoList,获取shopId并添加到set中
        for (Long entity : shopIdList) {
            set.add(entity.toString());
        }
        String joinedString = String.join(",", set);
        MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto();
        mgtBaseBathDto.setIds(joinedString);
        List<MgtSimpleShopVo> simpleShopVoList = remoteShopService.listShopSimpleVoByIds(mgtBaseBathDto).getData();
        // 将MgtSimpleShopVoList转换为Map<Long, MgtSimpleShopVo>,以便后续根据shopId获取对应的MgtSimpleShopVo
        Map<Long, MgtSimpleShopVo> shopMap = simpleShopVoList.stream()
                .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity()));
        if (shopIdList != null && !shopIdList.isEmpty()) {
            for (Long shopId : shopIdList) {
                mgtBaseShopDto = new MgtBaseShopDto();
@@ -3140,8 +3296,10 @@
                mgtBaseShopDto.setEndDate(mgtBasePlatformDto.getEndDate());
                mgtBaseShopDto.setShopId(shopId);
                mgtTotalDataTotalVo = this.getTotalDataTotal(mgtBaseShopDto);
                Shop shop = remoteShopService.getShop(shopId).getData();
                mgtTotalDataTotalVo.setShopName(shop.getShopName());
                simpleShopVo = shopMap.get(shopId);
                if (simpleShopVo!=null) {
                    mgtTotalDataTotalVo.setShopName(simpleShopVo.getShopName());
                }
                mgtTotalDataTotalVoList.add(mgtTotalDataTotalVo);
            }
        }
@@ -3191,34 +3349,83 @@
        mgtTotalOrderTotalVo.setExperienceTotal(0);
        mgtTotalOrderTotalVo.setExperienceMoney(BigDecimal.ZERO);
        if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) {
            MgtMapIntTotalVo MgtMapIntTotalVo;
            MgtMapIntTotalVo mgtMapIntTotalVo;
            MgtMapBigTotalVo mgtMapBigTotalVo;
            // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
            Boolean noCycle = true;
            Boolean noService = true;
            Boolean noExperience = true;
            Boolean noGoods = true;
            for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) {
                MgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapBigTotalVo = new MgtMapBigTotalVo();
                MgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
                mgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
                mgtMapBigTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond());
                if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) {
                    MgtMapIntTotalVo.setMapKey("周期");
                    mgtMapIntTotalVo.setMapKey("周期");
                    mgtMapBigTotalVo.setMapKey("周期");
                    mgtTotalOrderTotalVo.setCycleTotal(mgtTotalOrderTotalVo.getCycleTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
                    mgtTotalOrderTotalVo.setCycleMoney(mgtTotalOrderTotalVo.getCycleMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
                    noCycle= false;
                } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) {
                    MgtMapIntTotalVo.setMapKey("服务");
                    mgtMapIntTotalVo.setMapKey("服务");
                    mgtMapBigTotalVo.setMapKey("服务");
                    mgtTotalOrderTotalVo.setServiceTotal(mgtTotalOrderTotalVo.getServiceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
                    mgtTotalOrderTotalVo.setServiceMoney(mgtTotalOrderTotalVo.getServiceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
                    noService= false;
                } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) {
                    MgtMapIntTotalVo.setMapKey("体验");
                    mgtMapIntTotalVo.setMapKey("体验");
                    mgtMapBigTotalVo.setMapKey("体验");
                    mgtTotalOrderTotalVo.setExperienceTotal(mgtTotalOrderTotalVo.getExperienceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
                    mgtTotalOrderTotalVo.setExperienceMoney(mgtTotalOrderTotalVo.getExperienceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
                    noExperience = false;
                } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) {
                    MgtMapIntTotalVo.setMapKey("单品");
                    mgtMapIntTotalVo.setMapKey("单品");
                    mgtMapBigTotalVo.setMapKey("单品");
                    noGoods = false;
                }
                goodsTypeTotalList.add(MgtMapIntTotalVo);
                goodsTypeTotalList.add(mgtMapIntTotalVo);
                goodsTypeMoneyList.add(mgtMapBigTotalVo);
            }
            //补充缺少类型
            if(noCycle){
                mgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapIntTotalVo.setMapKey("周期");
                mgtMapIntTotalVo.setMapValue(0);
                goodsTypeTotalList.add(mgtMapIntTotalVo);
                mgtMapBigTotalVo = new MgtMapBigTotalVo();
                mgtMapBigTotalVo.setMapKey("周期");
                mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                goodsTypeMoneyList.add(mgtMapBigTotalVo);
            }
            if(noService){
                mgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapIntTotalVo.setMapKey("服务");
                mgtMapIntTotalVo.setMapValue(0);
                goodsTypeTotalList.add(mgtMapIntTotalVo);
                mgtMapBigTotalVo = new MgtMapBigTotalVo();
                mgtMapBigTotalVo.setMapKey("服务");
                mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                goodsTypeMoneyList.add(mgtMapBigTotalVo);
            }
            if(noExperience){
                mgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapIntTotalVo.setMapKey("体验");
                mgtMapIntTotalVo.setMapValue(0);
                goodsTypeTotalList.add(mgtMapIntTotalVo);
                mgtMapBigTotalVo = new MgtMapBigTotalVo();
                mgtMapBigTotalVo.setMapKey("体验");
                mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                goodsTypeMoneyList.add(mgtMapBigTotalVo);
            }
            if(noGoods){
                mgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapIntTotalVo.setMapKey("单品");
                mgtMapIntTotalVo.setMapValue(0);
                goodsTypeTotalList.add(mgtMapIntTotalVo);
                mgtMapBigTotalVo = new MgtMapBigTotalVo();
                mgtMapBigTotalVo.setMapKey("单品");
                mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                goodsTypeMoneyList.add(mgtMapBigTotalVo);
            }
            mgtTotalOrderTotalVo.setGoodsTypeTotalList(goodsTypeTotalList);
@@ -3239,8 +3446,8 @@
        //订单分布
        //日期全部时固定为5天
        if(StringUtils.isBlank(mgtBasePlatformDto.getStartDate())){
            mgtBasePlatformDto.setStartDate(DateUtils.getDate());
            mgtBasePlatformDto.setEndDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4)));
            mgtBasePlatformDto.setEndDate(DateUtils.getDate());
            mgtBasePlatformDto.setStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4)));
        }
        List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listPlTotalOrderTotal(mgtBasePlatformDto);
        if (MgtMapIntTotalVos != null && MgtMapIntTotalVos.size() > 0) {
@@ -3273,7 +3480,7 @@
            return new MgtPlTotalActivityTotalVo();
        }
        //获取需要关联的用户id集合
        if (mgtBasePlatformDto.getDeptId() != null) {
        /*if (mgtBasePlatformDto.getDeptId() != null) {
            List<Long> userIdList = new ArrayList<>();
            if (mgtBasePlatformDto.getUserId() != null) {
                userIdList.add(mgtBasePlatformDto.getUserId());
@@ -3286,7 +3493,7 @@
            if (!userIdList.isEmpty()) {
                mgtBasePlatformDto.setUserIdList(userIdList);
            }
        }
        }*/
        List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData();
        mgtBasePlatformDto.setShopIdList(shopIdList);
        //获取基础统计
@@ -3308,41 +3515,90 @@
        totalActivityTotalVo.setExperienceTotal(0);
        totalActivityTotalVo.setExperienceMoney(BigDecimal.ZERO);
        if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) {
            MgtMapIntTotalVo MgtMapIntTotalVo;
            MgtMapIntTotalVo mgtMapIntTotalVo;
            MgtMapBigTotalVo mgtMapBigTotalVo;
            // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
            Boolean noCycle = true;
            Boolean noService = true;
            Boolean noExperience = true;
            Boolean noGoods = true;
            for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) {
                MgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapBigTotalVo = new MgtMapBigTotalVo();
                MgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
                mgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
                mgtMapBigTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond());
                if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) {
                    MgtMapIntTotalVo.setMapKey("周期");
                    mgtMapIntTotalVo.setMapKey("周期");
                    mgtMapBigTotalVo.setMapKey("周期");
                    totalActivityTotalVo.setCycleTotal(totalActivityTotalVo.getCycleTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
                    totalActivityTotalVo.setCycleMoney(totalActivityTotalVo.getCycleMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
                    noCycle= false;
                } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) {
                    MgtMapIntTotalVo.setMapKey("服务");
                    mgtMapIntTotalVo.setMapKey("服务");
                    mgtMapBigTotalVo.setMapKey("服务");
                    totalActivityTotalVo.setServiceTotal(totalActivityTotalVo.getServiceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
                    totalActivityTotalVo.setServiceMoney(totalActivityTotalVo.getServiceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
                    noService= false;
                } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) {
                    MgtMapIntTotalVo.setMapKey("体验");
                    mgtMapIntTotalVo.setMapKey("体验");
                    mgtMapBigTotalVo.setMapKey("体验");
                    totalActivityTotalVo.setExperienceTotal(totalActivityTotalVo.getExperienceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
                    totalActivityTotalVo.setExperienceMoney(totalActivityTotalVo.getExperienceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
                    noExperience = false;
                } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) {
                    MgtMapIntTotalVo.setMapKey("单品");
                    mgtMapIntTotalVo.setMapKey("单品");
                    mgtMapBigTotalVo.setMapKey("单品");
                    noGoods = false;
                }
            }
            //补充缺少类型
            if(noCycle){
                mgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapIntTotalVo.setMapKey("周期");
                mgtMapIntTotalVo.setMapValue(0);
                goodsTypeTotalList.add(mgtMapIntTotalVo);
                mgtMapBigTotalVo = new MgtMapBigTotalVo();
                mgtMapBigTotalVo.setMapKey("周期");
                mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                goodsTypeMoneyList.add(mgtMapBigTotalVo);
            }
            if(noService){
                mgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapIntTotalVo.setMapKey("服务");
                mgtMapIntTotalVo.setMapValue(0);
                goodsTypeTotalList.add(mgtMapIntTotalVo);
                mgtMapBigTotalVo = new MgtMapBigTotalVo();
                mgtMapBigTotalVo.setMapKey("服务");
                mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                goodsTypeMoneyList.add(mgtMapBigTotalVo);
            }
            if(noExperience){
                mgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapIntTotalVo.setMapKey("体验");
                mgtMapIntTotalVo.setMapValue(0);
                goodsTypeTotalList.add(mgtMapIntTotalVo);
                mgtMapBigTotalVo = new MgtMapBigTotalVo();
                mgtMapBigTotalVo.setMapKey("体验");
                mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                goodsTypeMoneyList.add(mgtMapBigTotalVo);
            }
            if(noGoods){
                mgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapIntTotalVo.setMapKey("单品");
                mgtMapIntTotalVo.setMapValue(0);
                goodsTypeTotalList.add(mgtMapIntTotalVo);
                mgtMapBigTotalVo = new MgtMapBigTotalVo();
                mgtMapBigTotalVo.setMapKey("单品");
                mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                goodsTypeMoneyList.add(mgtMapBigTotalVo);
            }
            totalActivityTotalVo.setGoodsTypeTotalList(goodsTypeTotalList);
            totalActivityTotalVo.setGoodsTypeMoneyList(goodsTypeMoneyList);
        }
        //日期全部时固定为5天
        if(StringUtils.isBlank(mgtBasePlatformDto.getStartDate())){
            mgtBasePlatformDto.setStartDate(DateUtils.getDate());
            mgtBasePlatformDto.setEndDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4)));
            mgtBasePlatformDto.setEndDate(DateUtils.getDate());
            mgtBasePlatformDto.setStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4)));
        }
        //获取订单分布
        List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listPlTotalActivityTotal(mgtBasePlatformDto);
@@ -3446,14 +3702,137 @@
        // 遍历日期列表,设置日期和成员总数的数组
        for (int i = 0; i < size; i++) {
            str = dateList.get(i);
            joinMemberTotalKey[i] = str;
            getMemberTotalKey[i] = str;
            value = getMemberMap.get(str);
            joinMemberTotalValue[i] = (value != null) ? value : 0;
            getMemberTotalValue[i] = (value != null) ? value : 0;
        }
        totalActivityTotalVo.setGetMemberTotalKey(getMemberTotalKey);
        totalActivityTotalVo.setGetMemberTotalValue(getMemberTotalValue);
        return totalActivityTotalVo;
    }
    @Override
    public MgtPlTotalActivityTotalVo getPlTotalActivityJoinMemberTotal(MgtBasePlatformDto mgtBasePlatformDto) {
        if(mgtBasePlatformDto.getActivityFrom()!=null&&mgtBasePlatformDto.getActivityFrom() == 2){
            return new MgtPlTotalActivityTotalVo();
        }
        //获取需要关联的用户id集合
        /*if (mgtBasePlatformDto.getDeptId() != null) {
            List<Long> userIdList = new ArrayList<>();
            if (mgtBasePlatformDto.getUserId() != null) {
                userIdList.add(mgtBasePlatformDto.getUserId());
            } else {
                MgtUserIdByDept mgtUserIdByDept = new MgtUserIdByDept();
                mgtUserIdByDept.setDeptId(mgtBasePlatformDto.getUserId());
                mgtUserIdByDept = remoteConfigService.getUserIdByDept(mgtUserIdByDept).getData();
                userIdList = mgtUserIdByDept.getUserIdList();
            }
            if (!userIdList.isEmpty()) {
                mgtBasePlatformDto.setUserIdList(userIdList);
            }
        }*/
        if(mgtBasePlatformDto.getAgeType()!=null){
            List<Long> userIdList = remoteMemberService.listUserIdByAgeType(mgtBasePlatformDto.getAgeType()).getData();
            mgtBasePlatformDto.setUserIdList(userIdList);
        }
        List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData();
        mgtBasePlatformDto.setShopIdList(shopIdList);
        MgtPlTotalActivityTotalVo totalActivityTotalVo = new MgtPlTotalActivityTotalVo();
        //日期全部时固定为5天
        if(StringUtils.isBlank(mgtBasePlatformDto.getStartDate())){
            mgtBasePlatformDto.setEndDate(DateUtils.getDate());
            mgtBasePlatformDto.setStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4)));
        }
        //参与人数
        List<MgtMapIntTotalVo> joinList = orderMapper.getMgtActivityMemberTotal(mgtBasePlatformDto);
        // 将查询结果转为Map
        Map<String, Integer> mgtMapIntTotalVoMap = new HashMap<>();
        if (joinList != null && !joinList.isEmpty()) {
            mgtMapIntTotalVoMap = joinList.stream()
                    .collect(Collectors.toMap(MgtMapIntTotalVo::getMapKey, MgtMapIntTotalVo::getMapValue));
        }
        // 获取日期范围
        List<String> dateList = getDateRange(mgtBasePlatformDto.getStartDate(), mgtBasePlatformDto.getEndDate());
        int size = dateList.size();
        // 创建日期和成员总数的数组
        String[] joinMemberTotalKey = new String[size];
        Integer[] joinMemberTotalValue = new Integer[size];
        // 遍历日期列表,设置日期和成员总数的数组
        String str;
        Integer value;
        for (int i = 0; i < size; i++) {
            str = dateList.get(i);
            joinMemberTotalKey[i] = str;
            value = mgtMapIntTotalVoMap.get(str);
            joinMemberTotalValue[i] = (value != null) ? value : 0;
        }
        totalActivityTotalVo.setJoinMemberTotalKey(joinMemberTotalKey);
        totalActivityTotalVo.setJoinMemberTotalValue(joinMemberTotalValue);
        return totalActivityTotalVo;
    }
    @Override
    public MgtPlTotalActivityTotalVo getPlTotalActivityGetMemberTotal(MgtBasePlatformDto mgtBasePlatformDto) {
        if(mgtBasePlatformDto.getActivityFrom()!=null&&mgtBasePlatformDto.getActivityFrom() == 2){
            return new MgtPlTotalActivityTotalVo();
        }
        //获取需要关联的用户id集合
        /*if (mgtBasePlatformDto.getDeptId() != null) {
            List<Long> userIdList = new ArrayList<>();
            if (mgtBasePlatformDto.getUserId() != null) {
                userIdList.add(mgtBasePlatformDto.getUserId());
            } else {
                MgtUserIdByDept mgtUserIdByDept = new MgtUserIdByDept();
                mgtUserIdByDept.setDeptId(mgtBasePlatformDto.getUserId());
                mgtUserIdByDept = remoteConfigService.getUserIdByDept(mgtUserIdByDept).getData();
                userIdList = mgtUserIdByDept.getUserIdList();
            }
            if (!userIdList.isEmpty()) {
                mgtBasePlatformDto.setUserIdList(userIdList);
            }
        }*/
        if(mgtBasePlatformDto.getAgeType()!=null){
            List<Long> userIdList = remoteMemberService.listUserIdByAgeType(mgtBasePlatformDto.getAgeType()).getData();
            mgtBasePlatformDto.setUserIdList(userIdList);
        }
        List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData();
        mgtBasePlatformDto.setShopIdList(shopIdList);
        MgtPlTotalActivityTotalVo totalActivityTotalVo = new MgtPlTotalActivityTotalVo();
        //日期全部时固定为5天
        if(StringUtils.isBlank(mgtBasePlatformDto.getStartDate())){
            mgtBasePlatformDto.setEndDate(DateUtils.getDate());
            mgtBasePlatformDto.setStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4)));
        }
        //获客人数
        List<MgtMapIntTotalVo> getList = orderMapper.getMgtActivityGetMemberTotal(mgtBasePlatformDto);
        // 将查询结果转为Map
        Map<String, Integer> getMemberMap = new HashMap<>();
        if (getList != null && !getList.isEmpty()) {
            getMemberMap = getList.stream()
                    .collect(Collectors.toMap(MgtMapIntTotalVo::getMapKey, MgtMapIntTotalVo::getMapValue));
        }
        // 获取日期范围
        List<String> dateList = getDateRange(mgtBasePlatformDto.getStartDate(), mgtBasePlatformDto.getEndDate());
        int size = dateList.size();
        // 创建日期和成员总数的数组
        String[] getMemberTotalKey = new String[size];
        Integer[] getMemberTotalValue = new Integer[size];
        // 遍历日期列表,设置日期和成员总数的数组
        String str;
        Integer value;
        // 遍历日期列表,设置日期和成员总数的数组
        for (int i = 0; i < size; i++) {
            str = dateList.get(i);
            getMemberTotalKey[i] = str;
            value = getMemberMap.get(str);
            getMemberTotalValue[i] = (value != null) ? value : 0;
        }
        totalActivityTotalVo.setGetMemberTotalKey(getMemberTotalKey);
        totalActivityTotalVo.setGetMemberTotalValue(getMemberTotalValue);
        return totalActivityTotalVo;
    }
    /**
     * @param mgtPlActivityAgeDto
@@ -3823,6 +4202,10 @@
                bigTotal = hundredBig;
            }
            // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
            Boolean noCycle = true;
            Boolean noService = true;
            Boolean noExperience = true;
            Boolean noGoods = true;
            for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) {
                mgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapBigTotalVo = new MgtMapBigTotalVo();
@@ -3833,17 +4216,62 @@
                if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) {
                    mgtMapIntTotalVo.setMapKey("周期");
                    mgtMapBigTotalVo.setMapKey("周期");
                    noCycle= false;
                } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) {
                    mgtMapIntTotalVo.setMapKey("服务");
                    mgtMapBigTotalVo.setMapKey("服务");
                    noService= false;
                } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) {
                    mgtMapIntTotalVo.setMapKey("体验");
                    mgtMapBigTotalVo.setMapKey("体验");
                    noExperience = false;
                } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) {
                    mgtMapIntTotalVo.setMapKey("单品");
                    mgtMapBigTotalVo.setMapKey("单品");
                    noGoods = false;
                }
                goodsTypeTotalList.add(mgtMapIntTotalVo);
                goodsTypeMoneyList.add(mgtMapBigTotalVo);
            }
            //补充缺少类型
            if(noCycle){
                mgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapIntTotalVo.setMapKey("周期");
                mgtMapIntTotalVo.setMapValue(0);
                goodsTypeTotalList.add(mgtMapIntTotalVo);
                mgtMapBigTotalVo = new MgtMapBigTotalVo();
                mgtMapBigTotalVo.setMapKey("周期");
                mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                goodsTypeMoneyList.add(mgtMapBigTotalVo);
            }
            if(noService){
                mgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapIntTotalVo.setMapKey("服务");
                mgtMapIntTotalVo.setMapValue(0);
                goodsTypeTotalList.add(mgtMapIntTotalVo);
                mgtMapBigTotalVo = new MgtMapBigTotalVo();
                mgtMapBigTotalVo.setMapKey("服务");
                mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                goodsTypeMoneyList.add(mgtMapBigTotalVo);
            }
            if(noExperience){
                mgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapIntTotalVo.setMapKey("体验");
                mgtMapIntTotalVo.setMapValue(0);
                goodsTypeTotalList.add(mgtMapIntTotalVo);
                mgtMapBigTotalVo = new MgtMapBigTotalVo();
                mgtMapBigTotalVo.setMapKey("体验");
                mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                goodsTypeMoneyList.add(mgtMapBigTotalVo);
            }
            if(noGoods){
                mgtMapIntTotalVo = new MgtMapIntTotalVo();
                mgtMapIntTotalVo.setMapKey("单品");
                mgtMapIntTotalVo.setMapValue(0);
                goodsTypeTotalList.add(mgtMapIntTotalVo);
                mgtMapBigTotalVo = new MgtMapBigTotalVo();
                mgtMapBigTotalVo.setMapKey("单品");
                mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                goodsTypeMoneyList.add(mgtMapBigTotalVo);
            }
            orderTypeTotalVo.setGoodsTypeTotalList(goodsTypeTotalList);
@@ -4063,7 +4491,7 @@
    @Override
    @Transactional
    public void payBack(PartnerTransactionsResult transaction) {
        log.info("订单支付回调---"+transaction.toString());
        // Order order = this.getById(orderId);
        // 更新订单状态 outTradeNo
        String outTradeNo = transaction.getOutTradeNo();
@@ -4558,6 +4986,15 @@
        return orderDistributionTotalVo;
    }
    /**
     * @description  补时间
     * @author  jqs
     * @date    2023/8/28 15:03
     * @param orderTotalKey
     * @param orderTotalValue
     * @param orderMoneyValue
     * @return  MerOrderDistributionTotalVo
     */
    public MerOrderDistributionTotalVo fillOrderTotalKeyAndValuesToRecentFiveDays(String[] orderTotalKey,Integer[] orderTotalValue,BigDecimal[] orderMoneyValue) {
        MerOrderDistributionTotalVo orderDistributionTotalVo = new MerOrderDistributionTotalVo();
        // 获取当前日期
@@ -4599,6 +5036,7 @@
        orderDistributionTotalVo.setOrderMoneyValue(orderMoneyValue);
        return orderDistributionTotalVo;
    }
    private int getIndexInOrderTotalKey(String day,String[] orderTotalKey) {
        for (int i = 0; i < orderTotalKey.length; i++) {
@@ -4643,6 +5081,10 @@
                    bigTotal = hundredBig;
                }
                // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
                Boolean noCycle = true;
                Boolean noService = true;
                Boolean noExperience = true;
                Boolean noGoods = true;
                for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) {
                    mgtMapIntTotalVo = new MgtMapIntTotalVo();
                    mgtMapBigTotalVo = new MgtMapBigTotalVo();
@@ -4653,19 +5095,64 @@
                    if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) {
                        mgtMapIntTotalVo.setMapKey("周期");
                        mgtMapBigTotalVo.setMapKey("周期");
                        noCycle= false;
                    } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) {
                        mgtMapIntTotalVo.setMapKey("服务");
                        mgtMapBigTotalVo.setMapKey("服务");
                        noService= false;
                    } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) {
                        mgtMapIntTotalVo.setMapKey("体验");
                        mgtMapBigTotalVo.setMapKey("体验");
                        noExperience = false;
                    } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) {
                        mgtMapIntTotalVo.setMapKey("单品");
                        mgtMapBigTotalVo.setMapKey("单品");
                        noGoods = false;
                    }
                    goodsTypeTotalList.add(mgtMapIntTotalVo);
                    goodsTypeMoneyList.add(mgtMapBigTotalVo);
                }
                //补充缺少类型
                if(noCycle){
                    mgtMapIntTotalVo = new MgtMapIntTotalVo();
                    mgtMapIntTotalVo.setMapKey("周期");
                    mgtMapIntTotalVo.setMapValue(0);
                    goodsTypeTotalList.add(mgtMapIntTotalVo);
                    mgtMapBigTotalVo = new MgtMapBigTotalVo();
                    mgtMapBigTotalVo.setMapKey("周期");
                    mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                    goodsTypeMoneyList.add(mgtMapBigTotalVo);
                }
                if(noService){
                    mgtMapIntTotalVo = new MgtMapIntTotalVo();
                    mgtMapIntTotalVo.setMapKey("服务");
                    mgtMapIntTotalVo.setMapValue(0);
                    goodsTypeTotalList.add(mgtMapIntTotalVo);
                    mgtMapBigTotalVo = new MgtMapBigTotalVo();
                    mgtMapBigTotalVo.setMapKey("服务");
                    mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                    goodsTypeMoneyList.add(mgtMapBigTotalVo);
                }
                if(noExperience){
                    mgtMapIntTotalVo = new MgtMapIntTotalVo();
                    mgtMapIntTotalVo.setMapKey("体验");
                    mgtMapIntTotalVo.setMapValue(0);
                    goodsTypeTotalList.add(mgtMapIntTotalVo);
                    mgtMapBigTotalVo = new MgtMapBigTotalVo();
                    mgtMapBigTotalVo.setMapKey("体验");
                    mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                    goodsTypeMoneyList.add(mgtMapBigTotalVo);
                }
                if(noGoods){
                    mgtMapIntTotalVo = new MgtMapIntTotalVo();
                    mgtMapIntTotalVo.setMapKey("单品");
                    mgtMapIntTotalVo.setMapValue(0);
                    goodsTypeTotalList.add(mgtMapIntTotalVo);
                    mgtMapBigTotalVo = new MgtMapBigTotalVo();
                    mgtMapBigTotalVo.setMapKey("单品");
                    mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
                    goodsTypeMoneyList.add(mgtMapBigTotalVo);
                }
                orderTypeTotalVo.setGoodsTypeTotalList(goodsTypeTotalList);
                orderTypeTotalVo.setGoodsTypeMoneyList(goodsTypeMoneyList);
            }