From db6083bc5e2446a62c208e1d9c93671c111da8ba Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期日, 27 八月 2023 15:22:26 +0800 Subject: [PATCH] bug --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 279 +++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 205 insertions(+), 74 deletions(-) diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java index fa150de..7d059dd 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java @@ -751,13 +751,16 @@ } appPlaceOrderVo.setOrderId(orderId); appPlaceOrderVo.setOrderNo(orderNo); - + //商品数据 String goodsName = ""; if (null != goodsNameList) { goodsName = String.join(",", goodsNameList); } - - if(appPlaceOrderVo.getPayMoney().compareTo(BigDecimal.TEN)<0){ + //减去优惠券 + if (StringUtils.isNotBlank(memberCouponSJ.toString())) { + remoteCouponService.useMemberCoupon(memberCouponSJ.toString()); + } + if(appPlaceOrderVo.getPayMoney().compareTo(BigDecimal.ZERO)>0){ String outTradeNo = IdUtils.simpleUUID(); // 保存订单 交易流水 @@ -768,25 +771,23 @@ createWxPayInfo(appPlaceOrderVo, userId, order.getShopId(), goodsName, outTradeNo, orderId, order.getPayMoney(), appPlaceOrderDto.getOpenid(), appPlaceOrderDto.getSpbillCreateIp(), goodsNameList,1); + //生成自动取消订单延时任务 + Integer delayTime = 30; + if (redisService.hasKey(SecurityConstant.AUTO_CANCEL_ORDER_TIME)) { + delayTime = redisService.getCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME); + } + redisService.setCacheObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + orderId, orderId, delayTime.longValue(), TimeUnit.MINUTES); + DelayTask delayTask = new DelayTask(); + delayTask.setDelFlag(0); + delayTask.setCreateTime(new Date()); + delayTask.setEndTime(DateUtils.addMinutes(new Date(), delayTime)); + delayTask.setRedisKey(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + orderId); + remoteConfigService.addDelayTask(delayTask); + appPlaceOrderVo.setEndTime(DateUtils.addMinutes(order.getCreateTime(), delayTime)); + }else{ + order.setOrderStatus(2); + this.saveOrUpdate(order); } - - //减去优惠券 - if (StringUtils.isNotBlank(memberCouponSJ.toString())) { - remoteCouponService.useMemberCoupon(memberCouponSJ.toString()); - } - //生成自动取消订单延时任务 - Integer delayTime = 30; - if (redisService.hasKey(SecurityConstant.AUTO_CANCEL_ORDER_TIME)) { - delayTime = redisService.getCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME); - } - redisService.setCacheObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + orderId, orderId, delayTime.longValue(), TimeUnit.MINUTES); - DelayTask delayTask = new DelayTask(); - delayTask.setDelFlag(0); - delayTask.setCreateTime(new Date()); - delayTask.setEndTime(DateUtils.addMinutes(new Date(), delayTime)); - delayTask.setRedisKey(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + orderId); - remoteConfigService.addDelayTask(delayTask); - appPlaceOrderVo.setEndTime(DateUtils.addMinutes(order.getCreateTime(), delayTime)); return appPlaceOrderVo; } @@ -830,6 +831,7 @@ request.setNotifyUrl(config.getNotifyUrl()); // 结算信息 PartnerTransactionsRequest.SettleInfo settleInfo = new PartnerTransactionsRequest.SettleInfo(); + // TODO 分账处理 if(orderFrom==2){ settleInfo.setProfitSharing(true); }else{ @@ -1155,18 +1157,32 @@ goodsNameList.add(orderGoods.getGoodsName()); - if(appPlaceOrderVo.getPayMoney().compareTo(BigDecimal.TEN)<0){ + if(appPlaceOrderVo.getPayMoney().compareTo(BigDecimal.ZERO)>0){ String outTradeNo = IdUtils.simpleUUID(); - // 保存订单 交易流水 order.setOutTradeNo(outTradeNo); this.saveOrUpdate(order); - // 小程序微信下单支付 createWxPayInfo(appPlaceOrderVo, userId, order.getShopId(), orderGoods.getGoodsName(), orderNo, orderId, order.getPayMoney(), appPlaceActivityDto.getOpenid(), appPlaceActivityDto.getSpbillCreateIp(), goodsNameList,2); + //生成自动取消订单延时任务 + Integer delayTime = 30; + if (redisService.hasKey(SecurityConstant.AUTO_CANCEL_ORDER_TIME)) { + delayTime = redisService.getCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME); + } + redisService.setCacheObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + orderId, orderId, delayTime.longValue(), TimeUnit.MINUTES); + DelayTask delayTask = new DelayTask(); + delayTask.setDelFlag(0); + delayTask.setCreateTime(new Date()); + delayTask.setEndTime(DateUtils.addMinutes(new Date(), delayTime)); + delayTask.setRedisKey(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + orderId); + remoteConfigService.addDelayTask(delayTask); + appPlaceOrderVo.setEndTime(DateUtils.addMinutes(order.getCreateTime(), delayTime)); + }else{ + order.setOrderStatus(2); + this.saveOrUpdate(order); } //生成活动参加记录 ActivityRecord activityRecord = new ActivityRecord(); @@ -1181,19 +1197,6 @@ activityRecord.setGoodsId(orderGoods.getGoodsId()); activityRecord.setActivityMoney(activityGoodsGetVo.getActivityPrice()); remoteActivityService.addActivityRecord(activityRecord); - //生成自动取消订单延时任务 - Integer delayTime = 30; - if (redisService.hasKey(SecurityConstant.AUTO_CANCEL_ORDER_TIME)) { - delayTime = redisService.getCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME); - } - redisService.setCacheObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + orderId, orderId, delayTime.longValue(), TimeUnit.MINUTES); - DelayTask delayTask = new DelayTask(); - delayTask.setDelFlag(0); - delayTask.setCreateTime(new Date()); - delayTask.setEndTime(DateUtils.addMinutes(new Date(), delayTime)); - delayTask.setRedisKey(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + orderId); - remoteConfigService.addDelayTask(delayTask); - appPlaceOrderVo.setEndTime(DateUtils.addMinutes(order.getCreateTime(), delayTime)); return appPlaceOrderVo; } @@ -1552,7 +1555,7 @@ merVerifyOrderVo.setUserName(member.getRealName()); merVerifyOrderVo.setUserMobile(member.getMobile()); merVerifyOrderVo.setCloseFlag(order.getCloseFlag()); - + // TODO 活动才分账 if (order.getOrderFrom() == 2) { // 活动才分账 submitProfitSharing(orderId, order.getOrderNo(), order.getShopId(), order.getOrderMoney()); @@ -1586,15 +1589,16 @@ R<String> resultMch = remoteShopService.getShopSubMchId(shopId); String subMchId = resultMch.getData(); if (!StringUtils.isEmpty(subMchId)) { - + WxPayConfig config = wxService.getConfig(); R<ShopProportionVo> resultShopProportion = remoteShopService.getShopProportion(shopId); ShopProportionVo shopProportion = resultShopProportion.getData(); if (null != shopProportion) { ProfitSharingRequest request = new ProfitSharingRequest(); + request.setAppid(config.getAppId()); request.setSubMchid(subMchId); request.setTransactionId(transactionId); - request.setOutOrderNo(orderNo); + request.setOutOrderNo(IdUtils.simpleUUID()); List<ProfitSharingRequest.Receiver> receiverList = new ArrayList<>(); String description = "订单:" + orderNo + " 平台抽取佣金"; @@ -2743,22 +2747,10 @@ */ @Override public MgtTotalOrderTotalVo getTotalOrderTotal(MgtBaseShopDto mgtBaseShopDto) { + //订单数量 订单金额 MgtTotalOrderTotalVo mgtTotalOrderTotalVo = orderMapper.getTotalOrderTotalOrderFrom(mgtBaseShopDto); //MgtTotalOrderTotalVo mgtTotalOrderTotalVoGoodsType = orderMapper.getTotalOrderTotalGoodsType(mgtBaseShopDto); - List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listTotalOrderTotal(mgtBaseShopDto); - if (MgtMapIntTotalVos != null && MgtMapIntTotalVos.size() > 0) { - String[] orderTotalKey = new String[MgtMapIntTotalVos.size()]; - Integer[] orderTotalValue = new Integer[MgtMapIntTotalVos.size()]; - BigDecimal[] orderMoneyValue = new BigDecimal[MgtMapIntTotalVos.size()]; - for (int i = 0; i < MgtMapIntTotalVos.size(); i++) { - orderTotalKey[i] = MgtMapIntTotalVos.get(i).getMapKey(); - orderTotalValue[i] = MgtMapIntTotalVos.get(i).getMapValueFirst(); - orderMoneyValue[i] = MgtMapIntTotalVos.get(i).getMapValueSecond(); - } - mgtTotalOrderTotalVo.setOrderTotalKey(orderTotalKey); - mgtTotalOrderTotalVo.setOrderTotalValue(orderTotalValue); - mgtTotalOrderTotalVo.setOrderMoneyValue(orderMoneyValue); - } + //获取商品分类销售数据 List<MgtMapTotalPlusVo> MgtMapIntTotalVoGoodsType = orderMapper.listTotalOrderTotalGoodsType(mgtBaseShopDto); List<MgtMapIntTotalVo> goodsTypeTotalList = new ArrayList<>(); @@ -2809,6 +2801,26 @@ orderFromList = bigListRemoveNull(orderFromList); mgtTotalOrderTotalVo.setOrderFromRankList(orderFromList); } + //订单分布 + //日期全部时固定为5天 + if(StringUtils.isBlank(mgtBaseShopDto.getStartDate())){ + mgtBaseShopDto.setStartDate(DateUtils.getDate()); + mgtBaseShopDto.setEndDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4))); + } + List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listTotalOrderTotal(mgtBaseShopDto); + if (MgtMapIntTotalVos != null && MgtMapIntTotalVos.size() > 0) { + String[] orderTotalKey = new String[MgtMapIntTotalVos.size()]; + Integer[] orderTotalValue = new Integer[MgtMapIntTotalVos.size()]; + BigDecimal[] orderMoneyValue = new BigDecimal[MgtMapIntTotalVos.size()]; + for (int i = 0; i < MgtMapIntTotalVos.size(); i++) { + orderTotalKey[i] = MgtMapIntTotalVos.get(i).getMapKey(); + orderTotalValue[i] = MgtMapIntTotalVos.get(i).getMapValueFirst(); + orderMoneyValue[i] = MgtMapIntTotalVos.get(i).getMapValueSecond(); + } + mgtTotalOrderTotalVo.setOrderTotalKey(orderTotalKey); + mgtTotalOrderTotalVo.setOrderTotalValue(orderTotalValue); + mgtTotalOrderTotalVo.setOrderMoneyValue(orderMoneyValue); + } return mgtTotalOrderTotalVo; } @@ -2853,8 +2865,14 @@ */ @Override public MgtTotalActivityTotalVo getTotalActivityTotal(MgtBaseShopDto mgtBaseShopDto) { - //获取基础统计 + //获取基础统计 总订单数 订单金额 参与人数 MgtTotalActivityTotalVo totalActivityTotalVo = orderMapper.getTotalActivityTotal(mgtBaseShopDto); + //获客人数 + MgtTotalActivityTotalVo totalActivityMemberTotalVo = orderMapper.getTotalActivityMemberTotal(mgtBaseShopDto); + totalActivityTotalVo.setOrderPerson(totalActivityMemberTotalVo.getOrderPerson()); + totalActivityTotalVo.setCyclePerson(totalActivityMemberTotalVo.getCyclePerson()); + totalActivityTotalVo.setServicePerson(totalActivityMemberTotalVo.getServicePerson()); + totalActivityTotalVo.setExperiencePerson(totalActivityMemberTotalVo.getExperiencePerson()); //获取商品分类销售数据 List<MgtMapTotalPlusVo> MgtMapIntTotalVoGoodsType = orderMapper.listTotalActivityTotalGoodsType(mgtBaseShopDto); if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) { @@ -2900,7 +2918,13 @@ totalActivityTotalVo.setGoodsTypeTotalList(goodsTypeTotalList); totalActivityTotalVo.setGoodsTypeMoneyList(goodsTypeMoneyList); } + //获取订单分布 + //日期全部时固定为5天 + if(StringUtils.isBlank(mgtBaseShopDto.getStartDate())){ + mgtBaseShopDto.setStartDate(DateUtils.getDate()); + mgtBaseShopDto.setEndDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4))); + } List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listTotalActivityTotal(mgtBaseShopDto); if (MgtMapIntTotalVos != null && MgtMapIntTotalVos.size() > 0) { String[] orderTotalKey = new String[MgtMapIntTotalVos.size()]; @@ -2915,6 +2939,31 @@ 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; } @@ -2925,7 +2974,7 @@ * @author jqs * @date 2023/6/20 9:56 */ - @Override + /*@Override public MgtTotalActivityTotalVo getTotalActivityAgeRank(MgtActivityAgeDto mgtActivityAgeDto) { List<Long> userIds = orderMapper.getUserIdAgeRank(mgtActivityAgeDto); mgtActivityAgeDto.setUserIds(userIds); @@ -2947,7 +2996,7 @@ totalActivityTotalVo.setActivityAgeKey(activityAgeKey); totalActivityTotalVo.setActivityAgeValue(activityAgeValue); return totalActivityTotalVo; - } + }*/ /** * @param mgtBaseShopDto @@ -3070,20 +3119,6 @@ mgtBasePlatformDto.setShopIdList(shopIdList); //获取基础统计 MgtTotalOrderTotalVo mgtTotalOrderTotalVo = orderMapper.getPlTotalOrderTotalOrderFrom(mgtBasePlatformDto); - List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listPlTotalOrderTotal(mgtBasePlatformDto); - if (MgtMapIntTotalVos != null && MgtMapIntTotalVos.size() > 0) { - String[] orderTotalKey = new String[MgtMapIntTotalVos.size()]; - Integer[] orderTotalValue = new Integer[MgtMapIntTotalVos.size()]; - BigDecimal[] orderMoneyValue = new BigDecimal[MgtMapIntTotalVos.size()]; - for (int i = 0; i < MgtMapIntTotalVos.size(); i++) { - orderTotalKey[i] = MgtMapIntTotalVos.get(i).getMapKey(); - orderTotalValue[i] = MgtMapIntTotalVos.get(i).getMapValueFirst(); - orderMoneyValue[i] = MgtMapIntTotalVos.get(i).getMapValueSecond(); - } - mgtTotalOrderTotalVo.setOrderTotalKey(orderTotalKey); - mgtTotalOrderTotalVo.setOrderTotalValue(orderTotalValue); - mgtTotalOrderTotalVo.setOrderMoneyValue(orderMoneyValue); - } //获取商品分类销售数据 List<MgtMapTotalPlusVo> MgtMapIntTotalVoGoodsType = orderMapper.listPlTotalOrderTotalGoodsType(mgtBasePlatformDto); List<MgtMapIntTotalVo> goodsTypeTotalList = new ArrayList<>(); @@ -3140,6 +3175,27 @@ orderFromList = bigListRemoveNull(orderFromList); mgtTotalOrderTotalVo.setOrderFromRankList(orderFromList); } + //订单分布 + //日期全部时固定为5天 + if(StringUtils.isBlank(mgtBasePlatformDto.getStartDate())){ + mgtBasePlatformDto.setStartDate(DateUtils.getDate()); + mgtBasePlatformDto.setEndDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4))); + } + List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listPlTotalOrderTotal(mgtBasePlatformDto); + if (MgtMapIntTotalVos != null && MgtMapIntTotalVos.size() > 0) { + String[] orderTotalKey = new String[MgtMapIntTotalVos.size()]; + Integer[] orderTotalValue = new Integer[MgtMapIntTotalVos.size()]; + BigDecimal[] orderMoneyValue = new BigDecimal[MgtMapIntTotalVos.size()]; + for (int i = 0; i < MgtMapIntTotalVos.size(); i++) { + orderTotalKey[i] = MgtMapIntTotalVos.get(i).getMapKey(); + orderTotalValue[i] = MgtMapIntTotalVos.get(i).getMapValueFirst(); + orderMoneyValue[i] = MgtMapIntTotalVos.get(i).getMapValueSecond(); + } + MerOrderDistributionTotalVo merOrderDistributionTotalVo = fillOrderTotalKeyAndValuesToRecentFiveDays(orderTotalKey,orderTotalValue,orderMoneyValue); + mgtTotalOrderTotalVo.setOrderTotalKey(merOrderDistributionTotalVo.getOrderTotalKey()); + mgtTotalOrderTotalVo.setOrderTotalValue(merOrderDistributionTotalVo.getOrderTotalValue()); + mgtTotalOrderTotalVo.setOrderMoneyValue(merOrderDistributionTotalVo.getOrderMoneyValue()); + } return mgtTotalOrderTotalVo; } @@ -3152,6 +3208,9 @@ */ @Override public MgtPlTotalActivityTotalVo getPlTotalActivityTotal(MgtBasePlatformDto mgtBasePlatformDto) { + if(mgtBasePlatformDto.getActivityFrom()!=null&&mgtBasePlatformDto.getActivityFrom() == 2){ + return new MgtPlTotalActivityTotalVo(); + } //获取需要关联的用户id集合 if (mgtBasePlatformDto.getDeptId() != null) { List<Long> userIdList = new ArrayList<>(); @@ -3171,6 +3230,12 @@ mgtBasePlatformDto.setShopIdList(shopIdList); //获取基础统计 MgtPlTotalActivityTotalVo totalActivityTotalVo = orderMapper.getPlTotalActivityTotal(mgtBasePlatformDto); + //获客人数 + MgtPlTotalActivityTotalVo totalActivityMemberTotalVo = orderMapper.getPlTotalActivityMemberTotal(mgtBasePlatformDto); + totalActivityTotalVo.setOrderPerson(totalActivityMemberTotalVo.getOrderPerson()); + totalActivityTotalVo.setCyclePerson(totalActivityMemberTotalVo.getCyclePerson()); + totalActivityTotalVo.setServicePerson(totalActivityMemberTotalVo.getServicePerson()); + totalActivityTotalVo.setExperiencePerson(totalActivityMemberTotalVo.getExperiencePerson()); //获取商品分类销售数据 List<MgtMapTotalPlusVo> MgtMapIntTotalVoGoodsType = orderMapper.listPlTotalActivityTotalGoodsType(mgtBasePlatformDto); List<MgtMapIntTotalVo> goodsTypeTotalList = new ArrayList<>(); @@ -3213,6 +3278,11 @@ 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))); + } //获取订单分布 List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listPlTotalActivityTotal(mgtBasePlatformDto); if (MgtMapIntTotalVos != null && MgtMapIntTotalVos.size() > 0) { @@ -3240,18 +3310,28 @@ mgtBaseBathDto.setIds(joinedString); List<MgtSimpleShopVo> simpleShopVoList = remoteShopService.listShopSimpleVoByIds(mgtBaseBathDto).getData(); // 将MgtSimpleShopVoList转换为Map<Long, MgtSimpleShopVo>,以便后续根据shopId获取对应的MgtSimpleShopVo - Map<Long, MgtSimpleShopVo> map = simpleShopVoList.stream() + Map<Long, MgtSimpleShopVo> shopMap = simpleShopVoList.stream() .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity())); //商户活动次数排名 List<MgtMapBigTotalVo> shopActivityRank = orderMapper.listPlTotalShopActivityRank(mgtBasePlatformDto); if (shopActivityRank != null && shopActivityRank.size() > 0) { shopActivityRank = bigListRemoveNull(shopActivityRank); + for(MgtMapBigTotalVo mgtMapBigTotalVo : shopActivityRank){ + if(shopMap.get(mgtMapBigTotalVo.getMapKey())!=null){ + mgtMapBigTotalVo.setMapKey(shopMap.get(mgtMapBigTotalVo.getMapKey()).getShopName()); + } + } totalActivityTotalVo.setShopSalesRankList(shopActivityRank); } //商户活动销售额排名 List<MgtMapBigTotalVo> shopActivitySalesRank = orderMapper.listPlTotalShopActivitySalesRank(mgtBasePlatformDto); if (shopActivitySalesRank != null && shopActivitySalesRank.size() > 0) { shopActivitySalesRank = bigListRemoveNull(shopActivitySalesRank); + for(MgtMapBigTotalVo mgtMapBigTotalVo : shopActivitySalesRank){ + if(shopMap.get(mgtMapBigTotalVo.getMapKey())!=null){ + mgtMapBigTotalVo.setMapKey(shopMap.get(mgtMapBigTotalVo.getMapKey()).getShopName()); + } + } totalActivityTotalVo.setShopSalesRankList(shopActivitySalesRank); } //活动销售额排名 @@ -3260,6 +3340,57 @@ activitySalesRank = bigListRemoveNull(activitySalesRank); totalActivityTotalVo.setActivitySalesRankList(activitySalesRank); } + MerTotalDto merTotalDto = new MerTotalDto(); + merTotalDto.setAgeType(mgtBasePlatformDto.getAgeType()); + if(mgtBasePlatformDto.getAgeType()!=null){ + List<Long> userIdList = remoteMemberService.listUserIdByAgeType(mgtBasePlatformDto.getAgeType()).getData(); + mgtBasePlatformDto.setUserIdList(userIdList); + } + //参与人数 + 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); + //获客人数 + 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)); + } + // 创建日期和成员总数的数组 + String[] getMemberTotalKey = new String[size]; + Integer[] getMemberTotalValue = new Integer[size]; + // 遍历日期列表,设置日期和成员总数的数组 + for (int i = 0; i < size; i++) { + str = dateList.get(i); + joinMemberTotalKey[i] = str; + value = getMemberMap.get(str); + joinMemberTotalValue[i] = (value != null) ? value : 0; + } + totalActivityTotalVo.setGetMemberTotalKey(getMemberTotalKey); + totalActivityTotalVo.setGetMemberTotalValue(getMemberTotalValue); return totalActivityTotalVo; } @@ -3270,7 +3401,7 @@ * @author jqs * @date 2023/6/20 9:56 */ - @Override + /*@Override public MgtPlTotalActivityTotalVo getPlTotalActivityAgeRank(MgtPlActivityAgeDto mgtPlActivityAgeDto) { List<Long> userIds = orderMapper.getPlUserIdAgeRank(mgtPlActivityAgeDto); MgtActivityAgeDto mgtActivityAgeDto = new MgtActivityAgeDto(); @@ -3294,7 +3425,7 @@ plTotalActivityTotalVo.setActivityAgeKey(activityAgeKey); plTotalActivityTotalVo.setActivityAgeValue(activityAgeValue); return plTotalActivityTotalVo; - } + }*/ /** * @param verifyCode -- Gitblit v1.7.1