| | |
| | | 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); |
| | |
| | | } |
| | | 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); |
| | |
| | | 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); |
| | | } |
| | |
| | | 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()); |
| | |
| | | } catch (WxPayException e) { |
| | | resultMessage = String.format("订单分账:%s 分账失败:%s", orderNo, e.getMessage()); |
| | | log.info(resultMessage); |
| | | e.printStackTrace(); |
| | | throw new ServiceException(resultMessage); |
| | | } |
| | | |
| | | // 保存分账信息 |
| | |
| | | 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); |
| | |
| | | //订单分布 |
| | | //日期全部时固定为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) { |
| | |
| | | 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); |
| | |
| | | //获取订单分布 |
| | | //日期全部时固定为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) { |
| | |
| | | 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); |
| | |
| | | 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(); |
| | |
| | | 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); |
| | | } |
| | | } |
| | |
| | | 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); |
| | |
| | | //订单分布 |
| | | //日期全部时固定为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) { |
| | |
| | | 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()); |
| | |
| | | if (!userIdList.isEmpty()) { |
| | | mgtBasePlatformDto.setUserIdList(userIdList); |
| | | } |
| | | } |
| | | }*/ |
| | | List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData(); |
| | | mgtBasePlatformDto.setShopIdList(shopIdList); |
| | | //获取基础统计 |
| | |
| | | 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); |
| | |
| | | // 遍历日期列表,设置日期和成员总数的数组 |
| | | 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 |
| | |
| | | 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(); |
| | |
| | | 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); |
| | |
| | | @Override |
| | | @Transactional |
| | | public void payBack(PartnerTransactionsResult transaction) { |
| | | |
| | | log.info("订单支付回调---"+transaction.toString()); |
| | | // Order order = this.getById(orderId); |
| | | // 更新订单状态 outTradeNo |
| | | String outTradeNo = transaction.getOutTradeNo(); |
| | |
| | | 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(); |
| | | // 获取当前日期 |
| | |
| | | orderDistributionTotalVo.setOrderMoneyValue(orderMoneyValue); |
| | | return orderDistributionTotalVo; |
| | | } |
| | | |
| | | |
| | | private int getIndexInOrderTotalKey(String day,String[] orderTotalKey) { |
| | | for (int i = 0; i < orderTotalKey.length; i++) { |
| | |
| | | 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(); |
| | |
| | | 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); |
| | | } |