| | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.*; |
| | |
| | | @Override |
| | | public AppSureOrderVo buyGoods(AppSureOrderDto appSureOrderDto) { |
| | | Long userId = appSureOrderDto.getUserId(); |
| | | Shop shop = remoteShopService.getShop(appSureOrderDto.getShopId()).getData(); |
| | | if(shop!=null&&shop.getShopStatus()!=1){ |
| | | throw new ServiceException(AppErrorConstant.SHOP_CLOSED); |
| | | } |
| | | // 初始化订单对象 |
| | | AppSureOrderVo appSureOrderVo = new AppSureOrderVo(); |
| | | // 初始化订单商品列表 |
| | |
| | | @Override |
| | | public AppPanicBuyVo panicBuyGoods(AppPanicBuyDto appPanicBuyDto) { |
| | | Long userId = appPanicBuyDto.getUserId(); |
| | | Shop shop = remoteShopService.getShop(appPanicBuyDto.getShopId()).getData(); |
| | | if(shop!=null&&shop.getShopStatus()!=1){ |
| | | throw new ServiceException(AppErrorConstant.SHOP_CLOSED); |
| | | } |
| | | AppPanicBuyVo appPanicBuyVo = new AppPanicBuyVo(); |
| | | String activityId = appPanicBuyDto.getActivityId(); |
| | | String goodsId = appPanicBuyDto.getGoodsId(); |
| | |
| | | } |
| | | appPlaceOrderVo.setOrderId(orderId); |
| | | appPlaceOrderVo.setOrderNo(orderNo); |
| | | |
| | | //商品数据 |
| | | String goodsName = ""; |
| | | if (null != goodsNameList) { |
| | | goodsName = String.join(",", goodsNameList); |
| | | } |
| | | |
| | | if(appPlaceOrderVo.getPayMoney().compareTo(BigDecimal.TEN)<0){ |
| | | String outTradeNo = IdUtils.simpleUUID(); |
| | | |
| | | // 保存订单 交易流水 |
| | | order.setOutTradeNo(outTradeNo); |
| | | this.saveOrUpdate(order); |
| | | |
| | | // 小程序微信下单支付 |
| | | createWxPayInfo(appPlaceOrderVo, userId, order.getShopId(), goodsName, outTradeNo, |
| | | orderId, order.getPayMoney(), appPlaceOrderDto.getOpenid(), |
| | | appPlaceOrderDto.getSpbillCreateIp(), goodsNameList,1); |
| | | } |
| | | |
| | | //减去优惠券 |
| | | 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); |
| | | if(appPlaceOrderVo.getPayMoney().compareTo(BigDecimal.ZERO)>0){ |
| | | String outTradeNo = IdUtils.simpleUUID(); |
| | | // 保存订单 交易流水 |
| | | order.setOutTradeNo(outTradeNo); |
| | | this.saveOrUpdate(order); |
| | | Integer delayTime = 30; |
| | | if (redisService.hasKey(SecurityConstant.AUTO_CANCEL_ORDER_TIME)) { |
| | | delayTime = redisService.getCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME); |
| | | } |
| | | appPlaceOrderVo.setEndTime(DateUtils.addMinutes(order.getCreateTime(), delayTime)); |
| | | // 小程序微信下单支付 |
| | | createWxPayInfo(appPlaceOrderVo, userId, order.getShopId(), goodsName, outTradeNo, |
| | | orderId, order.getPayMoney(), appPlaceOrderDto.getOpenid(), |
| | | appPlaceOrderDto.getSpbillCreateIp(), goodsNameList,1); |
| | | //生成自动取消订单延时任务 |
| | | 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); |
| | | delayTask.setCreateTime(new Date()); |
| | | delayTask.setEndTime(DateUtils.addMinutes(new Date(), delayTime)); |
| | | delayTask.setRedisKey(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + orderId); |
| | | remoteConfigService.addDelayTask(delayTask); |
| | | }else{ |
| | | order.setOrderStatus(2); |
| | | this.saveOrUpdate(order); |
| | | } |
| | | 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; |
| | | } |
| | |
| | | * @param payerClientIp |
| | | * @param goodsNameList |
| | | */ |
| | | public void createWxPayInfo(AppPlaceOrderVo appPlaceOrderVo, Long userId, Long shopId, |
| | | |
| | | private void createWxPayInfo(AppPlaceOrderVo appPlaceOrderVo, Long userId, Long shopId, |
| | | String goodsName, String outTradeNo, |
| | | String orderId, BigDecimal payMoney, |
| | | String openid, String payerClientIp, List<String> goodsNameList,Integer orderFrom){ |
| | |
| | | // 结算信息 |
| | | PartnerTransactionsRequest.SettleInfo settleInfo = new PartnerTransactionsRequest.SettleInfo(); |
| | | // TODO 分账处理 |
| | | //if(orderFrom==2){ |
| | | if(orderFrom==2){ |
| | | settleInfo.setProfitSharing(true); |
| | | //}else{ |
| | | // settleInfo.setProfitSharing(false); |
| | | // } |
| | | }else{ |
| | | settleInfo.setProfitSharing(false); |
| | | } |
| | | settleInfo.setSubsidyAmount(BigDecimal.ZERO); |
| | | request.setSettleInfo(settleInfo); |
| | | |
| | |
| | | amount.setTotal(totalFee); |
| | | amount.setCurrency("CNY"); |
| | | request.setAmount(amount); |
| | | |
| | | Date endTime = appPlaceOrderVo.getEndTime(); |
| | | SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX"); |
| | | String rfc3339Format = formatter.format(endTime); |
| | | request.setTimeExpire(rfc3339Format); |
| | | // 支付者 |
| | | PartnerTransactionsRequest.Payer payer = new PartnerTransactionsRequest.Payer(); |
| | | payer.setSpOpenid(openid); |
| | |
| | | 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); |
| | | |
| | | Integer delayTime = 30; |
| | | if (redisService.hasKey(SecurityConstant.AUTO_CANCEL_ORDER_TIME)) { |
| | | delayTime = redisService.getCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME); |
| | | } |
| | | 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.getPaySign(); |
| | | redisService.setCacheObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + orderId, payStr , 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); |
| | | |
| | | }else{ |
| | | order.setOrderStatus(2); |
| | | this.saveOrUpdate(order); |
| | | } |
| | | //生成活动参加记录 |
| | | ActivityRecord activityRecord = new ActivityRecord(); |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | List<AppUserOrderPageVo> appUserOrderPageVoList = orderMapper.pageUserOrder(page, appUserOrderPageDto); |
| | | if (appUserOrderPageVoList != null && !appUserOrderPageVoList.isEmpty()) { |
| | | Long shopId; |
| | | String activityId; |
| | | Shop shop; |
| | | HashSet<Long> set = new HashSet<Long>(); |
| | | HashSet<Long> shopSet = new HashSet<Long>(); |
| | | HashSet<String> activitySet = new HashSet<String>(); |
| | | for (AppUserOrderPageVo appUserOrderPageVo : appUserOrderPageVoList) { |
| | | shopId = appUserOrderPageVo.getShopId(); |
| | | set.add(shopId); |
| | | shopSet.add(shopId); |
| | | if(appUserOrderPageVo.getOrderFrom()==2){ |
| | | activityId = appUserOrderPageVo.getActivityId(); |
| | | activitySet.add(activityId); |
| | | } |
| | | } |
| | | Map<Long, Shop> shopMap = new HashMap<>(); |
| | | set.forEach(shopIdLong -> { |
| | | shopSet.forEach(shopIdLong -> { |
| | | Shop shopTemp = remoteShopService.getShop(shopIdLong).getData(); |
| | | shopMap.put(shopIdLong, shopTemp); |
| | | }); |
| | |
| | | } else { |
| | | throw new ServiceException(AppErrorConstant.CANCEL_ERROR_ORDER); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * @description 支付订单 |
| | | * @author jqs |
| | | * @date 2023/8/27 15:26 |
| | | * @param orderId |
| | | * @return AppPlaceOrderVo |
| | | */ |
| | | @Override |
| | | public AppPlaceOrderVo payOrder(String orderId){ |
| | | Order order = this.getById(orderId); |
| | | if(order.getOrderStatus()!=1){ |
| | | throw new ServiceException(AppErrorConstant.CANCEL_CANCEL_ORDER); |
| | | } |
| | | String payStr = redisService.getCacheObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode()+ "-"+orderId); |
| | | if(StringUtils.isBlank(payStr)){ |
| | | throw new ServiceException(AppErrorConstant.CANCEL_CANCEL_ORDER); |
| | | } |
| | | Integer delayTime = 30; |
| | | if (redisService.hasKey(SecurityConstant.AUTO_CANCEL_ORDER_TIME)) { |
| | | delayTime = redisService.getCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME); |
| | | } |
| | | AppPlaceOrderVo appPlaceOrderVo = new AppPlaceOrderVo(); |
| | | OrderPayment orderPayment = orderPaymentService.getByUnpaidOrderId(orderId); |
| | | String[] payArr = payStr.split("-"); |
| | | appPlaceOrderVo.setOrderId(order.getOrderId()); |
| | | appPlaceOrderVo.setOrderNo(order.getOrderNo()); |
| | | appPlaceOrderVo.setPayType(order.getPayType()); |
| | | appPlaceOrderVo.setPayMoney(order.getPayMoney()); |
| | | appPlaceOrderVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getPayMoney())); |
| | | appPlaceOrderVo.setEndTime(DateUtils.addMinutes(order.getCreateTime(), delayTime)); |
| | | appPlaceOrderVo.setAppId(payArr[0]); |
| | | appPlaceOrderVo.setMchId(orderPayment.getSubMchId()); |
| | | appPlaceOrderVo.setTimeStamp(payArr[1]); |
| | | appPlaceOrderVo.setNonceStr(payArr[2]); |
| | | appPlaceOrderVo.setPackageStr(payArr[3]); |
| | | appPlaceOrderVo.setSignType(payArr[4]); |
| | | appPlaceOrderVo.setPaySign(payArr[5]); |
| | | appPlaceOrderVo.setPrepayId(orderPayment.getPrepayId()); |
| | | return appPlaceOrderVo; |
| | | } |
| | | |
| | | /** |
| | |
| | | merVerifyOrderVo.setUserMobile(member.getMobile()); |
| | | merVerifyOrderVo.setCloseFlag(order.getCloseFlag()); |
| | | // TODO 活动才分账 |
| | | //if (order.getOrderFrom() == 2) { |
| | | if (order.getOrderFrom() == 2) { |
| | | // 活动才分账 |
| | | submitProfitSharing(orderId, order.getOrderNo(), order.getShopId(), order.getOrderMoney()); |
| | | //} |
| | | submitProfitSharing(orderId, order.getOrderNo(), order.getShopId(), order.getOnlinePayMoney()); |
| | | } |
| | | |
| | | //创建支付记录 |
| | | if(merVerifyOrderDto.getRelPayMoney().compareTo(BigDecimal.ZERO)>0){ |
| | |
| | | payRecord.setPayType(merVerifyOrderDto.getPayType()); |
| | | payRecordService.save(payRecord); |
| | | } |
| | | |
| | | //更新用户消费统计 |
| | | MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto(); |
| | | memberTotalChangeDto.setConsumeTime(nowTime); |
| | | remoteMemberService.changeMemberTotal(memberTotalChangeDto); |
| | | return merVerifyOrderVo; |
| | | } |
| | | |
| | |
| | | List<ProfitSharingRequest.Receiver> receiverList = new ArrayList<>(); |
| | | |
| | | String description = "订单:" + orderNo + " 平台抽取佣金"; |
| | | //获取商户分成 |
| | | BigDecimal proportionPercent = shopProportion.getProportionPercent(); |
| | | if (null == proportionPercent) { |
| | | proportionPercent = BigDecimal.ZERO; |
| | | } |
| | | //平台分成 |
| | | proportionPercent = new BigDecimal("100.00").subtract(proportionPercent); |
| | | if(proportionPercent.compareTo(BigDecimal.ZERO)>0){ |
| | | ProfitSharingResult result = new ProfitSharingResult(); |
| | | result.setOutOrderNo(orderNo); |
| | | result.setStatus("FINISHED"); |
| | | // 计算分成金额 |
| | | int amount = orderMoney.multiply(proportionPercent).setScale(0, RoundingMode.UP).intValue(); |
| | | log.info("订单分账:{} 分账金额: {}", orderNo, amount); |
| | | if (amount > 0) { |
| | | // 分账创建 |
| | | ProfitSharingRequest.Receiver receiver = new ProfitSharingRequest.Receiver(); |
| | | receiver.setType("MERCHANT_ID"); |
| | | receiver.setReceiverAccount(platformTyMacId); |
| | | receiver.setAmount(amount); |
| | | receiver.setDescription(description); |
| | | |
| | | ProfitSharingResult result = new ProfitSharingResult(); |
| | | result.setOutOrderNo(orderNo); |
| | | result.setStatus("FINISHED"); |
| | | receiverList.add(receiver); |
| | | request.setReceivers(receiverList); |
| | | // 分账完成 |
| | | request.setFinish(true); |
| | | result = wxService.getEcommerceService().profitSharing(request); |
| | | } |
| | | |
| | | // 计算分成金额 |
| | | int amount = orderMoney.multiply(proportionPercent).setScale(0, RoundingMode.UP).intValue(); |
| | | log.info("订单分账:{} 分账金额: {}", orderNo, amount); |
| | | if (amount > 0) { |
| | | // 分账创建 |
| | | ProfitSharingRequest.Receiver receiver = new ProfitSharingRequest.Receiver(); |
| | | receiver.setType("MERCHANT_ID"); |
| | | receiver.setReceiverAccount(platformTyMacId); |
| | | receiver.setAmount(amount); |
| | | receiver.setDescription(description); |
| | | // 创建分账记录 |
| | | profitSharingService.saveProfitSharing(shopId, orderId, orderMoney, result); |
| | | |
| | | receiverList.add(receiver); |
| | | request.setReceivers(receiverList); |
| | | // 分账完成 |
| | | request.setFinish(true); |
| | | result = wxService.getEcommerceService().profitSharing(request); |
| | | // 保存请求信息 |
| | | sendMessage = JSONObject.toJSONString(request); |
| | | resultMessage = JSONObject.toJSONString(result); |
| | | } |
| | | |
| | | // 创建分账记录 |
| | | profitSharingService.saveProfitSharing(shopId, orderId, orderMoney, result); |
| | | |
| | | // 保存请求信息 |
| | | sendMessage = JSONObject.toJSONString(request); |
| | | resultMessage = JSONObject.toJSONString(result); |
| | | } else { |
| | | resultMessage = String.format("订单分账:%s 获取商户分成失败", orderNo); |
| | | log.info(resultMessage); |
| | |
| | | } catch (WxPayException e) { |
| | | resultMessage = String.format("订单分账:%s 分账失败:%s", orderNo, e.getMessage()); |
| | | log.info(resultMessage); |
| | | e.printStackTrace(); |
| | | throw new ServiceException(resultMessage); |
| | | } |
| | | |
| | | // 保存分账信息 |
| | |
| | | if (StringUtils.isNotBlank(memberCouponSJ.toString())) { |
| | | remoteCouponService.useMemberCoupon(memberCouponSJ.toString()); |
| | | } |
| | | |
| | | //更新会员消费记录 |
| | | MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto(); |
| | | memberTotalChangeDto.setConsumeTime(nowTime); |
| | | remoteMemberService.changeMemberTotal(memberTotalChangeDto); |
| | | //更新商户统计 |
| | | /*ShopTotalChangeDto shopTotalChangeDto = new ShopTotalChangeDto(); |
| | | shopTotalChangeDto.setShopId(order.getShopId()); |
| | |
| | | if (orderFrom == 1) { |
| | | orderFromDesc = "商城订单"; |
| | | } else if (orderFrom == 2) { |
| | | orderFromDesc = "店铺砍价活动(" + merOrderPageVo.getActivityName() + ")"; |
| | | orderFromDesc = "平台秒杀活动(" + merOrderPageVo.getActivityName() + ")"; |
| | | } else { |
| | | orderFromDesc = "线下创建"; |
| | | } |
| | |
| | | // 遍历列表,设置店铺名称、用户名称和未支付金额 |
| | | for (MgtShopOrderPageVo mgtShopOrderPageVo : shopOrderPageVoList) { |
| | | if (shopMap != null && !shopMap.isEmpty()) { |
| | | mgtShopOrderPageVo.setShopName(shopMap.get(mgtShopOrderPageVo.getShopId()).getShopName()); |
| | | if(shopMap.get(mgtShopOrderPageVo.getShopId())!=null){ |
| | | mgtShopOrderPageVo.setShopName(shopMap.get(mgtShopOrderPageVo.getShopId()).getShopName()); |
| | | } |
| | | } |
| | | if (userMap != null && !userMap.isEmpty()) { |
| | | if (userMap.get(mgtShopOrderPageVo.getUserId()) != null) { |
| | |
| | | */ |
| | | @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<>(); |
| | | 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); |
| | |
| | | if (orderFromList != null && orderFromList.size() > 0) { |
| | | orderFromList = bigListRemoveNull(orderFromList); |
| | | mgtTotalOrderTotalVo.setOrderFromRankList(orderFromList); |
| | | } |
| | | //订单分布 |
| | | //日期全部时固定为5天 |
| | | if(StringUtils.isBlank(mgtBaseShopDto.getStartDate())){ |
| | | 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) { |
| | | 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; |
| | | } |
| | |
| | | */ |
| | | @Override |
| | | public MgtTotalActivityTotalVo getTotalActivityTotal(MgtBaseShopDto mgtBaseShopDto) { |
| | | //获取基础统计 |
| | | //获取基础统计 总订单数 订单金额 参与人数 |
| | | MgtTotalActivityTotalVo totalActivityTotalVo = orderMapper.getTotalActivityTotal(mgtBaseShopDto); |
| | | //获客人数 |
| | | MgtTotalActivityTotalVo totalActivityMemberTotalVo = orderMapper.getTotalActivityMemberTotal(mgtBaseShopDto); |
| | |
| | | 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); |
| | | totalActivityTotalVo.setGoodsTypeMoneyList(goodsTypeMoneyList); |
| | | } |
| | | |
| | | //获取订单分布 |
| | | //日期全部时固定为5天 |
| | | if(StringUtils.isBlank(mgtBaseShopDto.getStartDate())){ |
| | | 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) { |
| | | String[] orderTotalKey = new String[MgtMapIntTotalVos.size()]; |
| | |
| | | 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); |
| | | // 将查询结果转为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; |
| | | } |
| | | |
| | |
| | | * @author jqs |
| | | * @date 2023/6/20 9:56 |
| | | */ |
| | | @Override |
| | | /*@Override |
| | | public MgtTotalActivityTotalVo getTotalActivityAgeRank(MgtActivityAgeDto mgtActivityAgeDto) { |
| | | List<Long> userIds = orderMapper.getUserIdAgeRank(mgtActivityAgeDto); |
| | | mgtActivityAgeDto.setUserIds(userIds); |
| | |
| | | totalActivityTotalVo.setActivityAgeKey(activityAgeKey); |
| | | totalActivityTotalVo.setActivityAgeValue(activityAgeValue); |
| | | return totalActivityTotalVo; |
| | | } |
| | | }*/ |
| | | |
| | | /** |
| | | * @param 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); |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData(); |
| | | if(mgtBasePlatformDto.getShopId()!=null){ |
| | | shopIdList = new ArrayList<>(); |
| | | shopIdList.add(mgtBasePlatformDto.getShopId()); |
| | | } |
| | | 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<>(); |
| | |
| | | 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); |
| | |
| | | orderFromList = bigListRemoveNull(orderFromList); |
| | | mgtTotalOrderTotalVo.setOrderFromRankList(orderFromList); |
| | | } |
| | | //订单分布 |
| | | //日期全部时固定为5天 |
| | | Boolean fillZero = false; |
| | | if(StringUtils.isBlank(mgtBasePlatformDto.getStartDate())){ |
| | | mgtBasePlatformDto.setEndDate(DateUtils.getDate()); |
| | | mgtBasePlatformDto.setStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4))); |
| | | fillZero = true; |
| | | } |
| | | 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(); |
| | | } |
| | | if(fillZero){ |
| | | MerOrderDistributionTotalVo merOrderDistributionTotalVo = fillOrderTotalKeyAndValuesToRecentFiveDays(orderTotalKey,orderTotalValue,orderMoneyValue); |
| | | mgtTotalOrderTotalVo.setOrderTotalKey(merOrderDistributionTotalVo.getOrderTotalKey()); |
| | | mgtTotalOrderTotalVo.setOrderTotalValue(merOrderDistributionTotalVo.getOrderTotalValue()); |
| | | mgtTotalOrderTotalVo.setOrderMoneyValue(merOrderDistributionTotalVo.getOrderMoneyValue()); |
| | | }else{ |
| | | mgtTotalOrderTotalVo.setOrderTotalKey(orderTotalKey); |
| | | mgtTotalOrderTotalVo.setOrderTotalValue(orderTotalValue); |
| | | mgtTotalOrderTotalVo.setOrderMoneyValue(orderMoneyValue); |
| | | } |
| | | |
| | | } |
| | | return mgtTotalOrderTotalVo; |
| | | } |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public MgtPlTotalActivityTotalVo getPlTotalActivityTotal(MgtBasePlatformDto mgtBasePlatformDto) { |
| | | if(mgtBasePlatformDto.getActivityFrom()!=null&&mgtBasePlatformDto.getActivityFrom() == 2){ |
| | | 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(); |
| | | if(mgtBasePlatformDto.getShopId()!=null){ |
| | | shopIdList = new ArrayList<>(); |
| | | shopIdList.add(mgtBasePlatformDto.getShopId()); |
| | | } |
| | | mgtBasePlatformDto.setShopIdList(shopIdList); |
| | | //获取基础统计 |
| | | MgtPlTotalActivityTotalVo totalActivityTotalVo = orderMapper.getPlTotalActivityTotal(mgtBasePlatformDto); |
| | |
| | | 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; |
| | | } |
| | | 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); |
| | | totalActivityTotalVo.setGoodsTypeMoneyList(goodsTypeMoneyList); |
| | | } |
| | | //日期全部时固定为5天 |
| | | if(StringUtils.isBlank(mgtBasePlatformDto.getStartDate())){ |
| | | mgtBasePlatformDto.setEndDate(DateUtils.getDate()); |
| | | mgtBasePlatformDto.setStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4))); |
| | | } |
| | | //获取订单分布 |
| | | List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listPlTotalActivityTotal(mgtBasePlatformDto); |
| | |
| | | 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); |
| | | } |
| | | //活动销售额排名 |
| | |
| | | // 遍历日期列表,设置日期和成员总数的数组 |
| | | 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 |
| | |
| | | * @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(); |
| | |
| | | plTotalActivityTotalVo.setActivityAgeKey(activityAgeKey); |
| | | plTotalActivityTotalVo.setActivityAgeValue(activityAgeValue); |
| | | return plTotalActivityTotalVo; |
| | | } |
| | | }*/ |
| | | |
| | | /** |
| | | * @param verifyCode |
| | |
| | | */ |
| | | @Override |
| | | public MerOrderDistributionTotalVo MerOrderDistributionTotalVo(MerTotalDto merTotalDto) { |
| | | //获取查询的商户列表 |
| | | if (merTotalDto.getShopAllFlag() != null && merTotalDto.getShopAllFlag() == 1) { |
| | | List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData(); |
| | | merTotalDto.setShopIdList(shopIdList); |
| | |
| | | String[] orderTotalKey = new String[mgtMapTotalPlusVoList.size()]; |
| | | Integer[] orderTotalValue = new Integer[mgtMapTotalPlusVoList.size()]; |
| | | BigDecimal[] orderMoneyValue = new BigDecimal[mgtMapTotalPlusVoList.size()]; |
| | | //数据为空返回空数组 |
| | | if (mgtMapTotalPlusVoList != null && !mgtMapTotalPlusVoList.isEmpty()) { |
| | | MgtMapTotalPlusVo mgtMapTotalPlusVo; |
| | | for (int i = 0; i < mgtMapTotalPlusVoList.size(); i++) { |
| | |
| | | orderTotalValue[i] = mgtMapTotalPlusVo.getMapValueFirst(); |
| | | orderMoneyValue[i] = mgtMapTotalPlusVo.getMapValueSecond(); |
| | | } |
| | | //补充日期到近5日 |
| | | orderDistributionTotalVo = fillOrderTotalKeyAndValuesToRecentFiveDays(orderTotalKey,orderTotalValue,orderMoneyValue); |
| | | }else{ |
| | | orderDistributionTotalVo.setOrderTotalKey(orderTotalKey); |
| | |
| | | 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(); |
| | |
| | | Integer bugGoodsNum = orderMapper.countUserBuyGoodsNum(order.getUserId(), orderGoods.getGoodsId()); |
| | | if (bugGoodsNum == null || bugGoodsNum < 1) { |
| | | goodsTotalChangeDto.setPersonNum(1); |
| | | }else{ |
| | | goodsTotalChangeDto.setPersonNum(0); |
| | | } |
| | | goodsTotalChangeDtoList.add(goodsTotalChangeDto); |
| | | } |
| | |
| | | Boolean haveService = false; |
| | | Boolean haveExperience = false; |
| | | Boolean haveGoods = false; |
| | | //商品统计回退 |
| | | List<GoodsTotalChangeDto> goodsTotalChangeDtoList = new ArrayList<>(); |
| | | GoodsTotalChangeDto goodsTotalChangeDto; |
| | | List<OrderGoods> orderGoodsList = orderGoodsService.listByOrderId(orderId); |
| | | if (orderGoodsList != null && !orderGoodsList.isEmpty()) { |
| | | StringJoiner memberCouponSJ = new StringJoiner(","); |
| | |
| | | } else { |
| | | memberCouponSJ.add(orderGoods.getCouponId()); |
| | | } |
| | | //会员统计更新 |
| | | switch (orderGoods.getGoodsType()) { |
| | | case 1: |
| | | cycleMoney = cycleMoney.add(orderGoods.getGoodsReceivableMoney()); |
| | |
| | | default: |
| | | break; |
| | | } |
| | | //商品统计更新 |
| | | goodsTotalChangeDto = new GoodsTotalChangeDto(); |
| | | goodsTotalChangeDto.setGoodsId(orderGoods.getGoodsId()); |
| | | goodsTotalChangeDto.setChangeType(2); |
| | | goodsTotalChangeDto.setChangeNum(orderGoods.getBuyNum()); |
| | | goodsTotalChangeDto.setMoney(orderGoods.getGoodsReceivableMoney()); |
| | | Integer bugGoodsNum = orderMapper.countUserBuyGoodsNum(order.getUserId(), orderGoods.getGoodsId()); |
| | | if (bugGoodsNum == null || bugGoodsNum <= orderGoods.getBuyNum()) { |
| | | goodsTotalChangeDto.setPersonNum(1); |
| | | }else{ |
| | | goodsTotalChangeDto.setPersonNum(0); |
| | | } |
| | | goodsTotalChangeDtoList.add(goodsTotalChangeDto); |
| | | } |
| | | remoteGoodsService.changeGoodsTotal(goodsTotalChangeDtoList); |
| | | //回退优惠券 |
| | | if (memberCouponSJ != null) { |
| | | remoteCouponService.backMemberCoupon(memberCouponSJ.toString()); |
| | |
| | | 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); |
| | |
| | | for (MerOrderPageVo merOrderPageVo : merOrderPageVoList) { |
| | | userId = merOrderPageVo.getUserId(); |
| | | userIdSj.add(userId.toString()); |
| | | orderFrom = merOrderPageVo.getOrderFrom(); |
| | | if (orderFrom != null) { |
| | | if (orderFrom == 1) { |
| | | orderFromDesc = "商城订单"; |
| | | } else { |
| | | orderFromDesc = "线下创建"; |
| | | } |
| | | } else { |
| | | orderFromDesc = "商城订单"; |
| | | } |
| | | merOrderPageVo.setOrderFromDesc(orderFromDesc); |
| | | if(merOrderPageVo.getUnPaidMoney().compareTo(zeroBig)<0){ |
| | | merOrderPageVo.setUnPaidMoney(zeroBig); |
| | | } |
| | |
| | | AgencyTotalVo agencyTotalVo = orderMapper.getAgencyTotalVo(shopIdList); |
| | | return agencyTotalVo; |
| | | } |
| | | |
| | | /** |
| | | * @description 商户端会员订单统计 |
| | | * @author jqs |
| | | * @date 2023/8/29 17:39 |
| | | * @param merBaseDto |
| | | * @return MerMemberSimpleTotalVo |
| | | */ |
| | | @Override |
| | | public MerMemberSimpleTotalVo getMerMemberSimpleTotalVo(MerBaseDto merBaseDto){ |
| | | return orderMapper.getMerMemberSimpleTotalVo(merBaseDto); |
| | | } |
| | | } |