| | |
| | | order.setOrderId(orderId); |
| | | order.setDelFlag(0); |
| | | //为对接支付 直接付款成功 |
| | | order.setOrderStatus(2); |
| | | order.setOrderStatus(1); |
| | | order.setOrderNo(orderNo); |
| | | order.setOrderFrom(1); |
| | | order.setShopId(appPlaceOrderDto.getShopId()); |
| | |
| | | order.setDiscountMoney(couponDiscount); |
| | | order.setReceivableMoney(orderPayMoney); |
| | | order.setReceivableDeposit(orderPayDeposit); |
| | | order.setChangeReceivableMoney(orderPayMoney); |
| | | order.setPayType(appPlaceOrderDto.getPayType()); |
| | | if (order.getPayType() == 1) { |
| | | order.setPayMoney(orderPayMoney); |
| | |
| | | order.setUseUserId(merVerifyOrderDto.getUserId()); |
| | | order.setOfflinePayMoney(relPayMoney); |
| | | order.setOffPayTime(nowTime); |
| | | order.setPayMoney(relReceiveMoney.add(relPayMoney)); |
| | | order.setPayMoney(order.getPayMoney().add(relPayMoney)); |
| | | order.setCloseFlag(1); |
| | | order.setChangeReceivableMoney(relReceiveMoney); |
| | | this.saveOrUpdate(order); |
| | | //创建服务商品 |
| | | List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId); |
| | |
| | | if (null != appMemberCouponVoList) { |
| | | appMemberCouponVoMap = appMemberCouponVoList.stream().collect(Collectors.toMap(AppMemberCouponVo::getMemberCouponId, Function.identity())); |
| | | } |
| | | |
| | | AppMemberCouponVo appMemberCouponVo; |
| | | Integer couponType; |
| | | BigDecimal moneyThreshold; |
| | |
| | | order.setReceivableMoney(orderPayMoney); |
| | | order.setReceivableDeposit(new BigDecimal("0.00")); |
| | | order.setPayType(1); |
| | | if (order.getPayType() == 1) { |
| | | order.setPayMoney(orderPayMoney); |
| | | order.setOnlinePayMoney(orderPayMoney); |
| | | order.setCloseFlag(1); |
| | | } else if (order.getPayType() == 2) { |
| | | order.setPayMoney(orderPayDeposit); |
| | | order.setOnlinePayMoney(orderPayDeposit); |
| | | order.setCloseFlag(0); |
| | | if(merNewOrderDto.getChangeMoney()!=null){ |
| | | order.setChangeReceivableMoney(merNewOrderDto.getChangeMoney()); |
| | | }else{ |
| | | order.setChangeReceivableMoney(orderPayMoney); |
| | | } |
| | | order.setPayMoney(orderPayMoney); |
| | | order.setOnlinePayMoney(new BigDecimal("0.00")); |
| | | order.setOfflinePayMoney(orderPayMoney); |
| | | order.setCloseFlag(1); |
| | | order.setOrderRemark(merNewOrderDto.getOrderRemark()); |
| | | order.setGoodsNum(goodsNum); |
| | | order.setCreateTime(nowTime); |
| | |
| | | merTotalDto.setShopIdList(shopIdList); |
| | | merTotalDto.setShopId(null); |
| | | } |
| | | MerOrderTotalVo orderTotalVo = new MerOrderTotalVo(); |
| | | |
| | | if(merTotalDto.getShopAllFlag()!=null&&merTotalDto.getShopAllFlag()==1){ |
| | | List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData(); |
| | | merTotalDto.setShopIdList(shopIdList); |
| | | merTotalDto.setShopId(null); |
| | | } |
| | | MerOrderTotalVo orderTotalVo = orderMapper.getMerOrderTotalOrderFrom(merTotalDto); |
| | | return orderTotalVo; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @description |
| | | * @author jqs |
| | | * @date 2023/7/4 9:29 |
| | | * @param merTotalDto |
| | | * @return MerOrderDistributionTotalVo |
| | | */ |
| | | @Override |
| | | public MerOrderDistributionTotalVo MerOrderDistributionTotalVo(MerTotalDto merTotalDto){ |
| | | if(merTotalDto.getShopAllFlag()!=null&&merTotalDto.getShopAllFlag()==1){ |
| | | List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData(); |
| | | merTotalDto.setShopIdList(shopIdList); |
| | | merTotalDto.setShopId(null); |
| | | } |
| | | MerOrderDistributionTotalVo orderDistributionTotalVo = new MerOrderDistributionTotalVo(); |
| | | // 获取订单年龄用户列表 |
| | | List<MerOrderAgeUserVo> orderAgeUserVoList = remoteMemberService.listOrderAgeUser(merTotalDto).getData(); |
| | | // 如果订单年龄用户列表不为空 |
| | | if (orderAgeUserVoList != null && !orderAgeUserVoList.isEmpty()) { |
| | | // 定义变量 |
| | | Integer ageType; |
| | | List<Long> userIdList; |
| | | MerOrderAgeUserVo orderAgeUserVo; |
| | | MgtMapTotalPlusVo mgtMapTotalPlusVo; |
| | | String[] orderTotalKey = new String[5]; |
| | | Integer[] orderTotalValue = new Integer[5]; |
| | | BigDecimal[] orderMoneyValue = new BigDecimal[5]; |
| | | // 遍历订单年龄用户列表 |
| | | for (int i = 0; i < orderAgeUserVoList.size(); i++) { |
| | | orderAgeUserVo = orderAgeUserVoList.get(i); |
| | | ageType = orderAgeUserVo.getAgeType(); |
| | | userIdList = orderAgeUserVo.getUserIdList(); |
| | | // 根据年龄类型设置订单总数键 |
| | | switch (ageType) { |
| | | case 1: |
| | | orderTotalKey[i] = "<20"; |
| | | break; |
| | | case 2: |
| | | orderTotalKey[i] = "21-30"; |
| | | break; |
| | | case 3: |
| | | orderTotalKey[i] = "31-40"; |
| | | break; |
| | | case 4: |
| | | orderTotalKey[i] = "41-50"; |
| | | break; |
| | | case 5: |
| | | orderTotalKey[i] = ">50"; |
| | | break; |
| | | } |
| | | // 如果用户ID列表不为空 |
| | | if (userIdList != null && !userIdList.isEmpty()) { |
| | | mgtMapTotalPlusVo = orderMapper.listMerOrderDistributionTotal(userIdList); |
| | | orderTotalValue[i] = mgtMapTotalPlusVo.getMapValueFirst(); |
| | | orderMoneyValue[i] = mgtMapTotalPlusVo.getMapValueSecond(); |
| | | } else { |
| | | orderTotalValue[i] = 0; |
| | | orderMoneyValue[i] = BigDecimal.ZERO; |
| | | } |
| | | } |
| | | // 设置订单分布总数对象的属性值 |
| | | orderDistributionTotalVo.setOrderTotalKey(orderTotalKey); |
| | | orderDistributionTotalVo.setOrderTotalValue(orderTotalValue); |
| | | orderDistributionTotalVo.setOrderMoneyValue(orderMoneyValue); |
| | | } |
| | | // 返回订单分布总数对象 |
| | | return orderDistributionTotalVo; |
| | | } |
| | | |
| | | /** |
| | | * @description 商户获取销售占比统计 |
| | | * @author jqs |
| | | * @date 2023/7/4 13:58 |
| | | * @param merTotalDto |
| | | * @return MerOrderTypeTotalVo |
| | | */ |
| | | @Override |
| | | public MerOrderTypeTotalVo getMerOrderTypeTotal(MerTotalDto merTotalDto){ |
| | | if(merTotalDto.getShopAllFlag()!=null&&merTotalDto.getShopAllFlag()==1){ |
| | | List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData(); |
| | | merTotalDto.setShopIdList(shopIdList); |
| | | merTotalDto.setShopId(null); |
| | | } |
| | | MerOrderTypeTotalVo orderTypeTotalVo = new MerOrderTypeTotalVo(); |
| | | //获取商品分类销售数据 |
| | | List<MgtMapTotalPlusVo> MgtMapIntTotalVoGoodsType = orderMapper.listMerOrderTotalGoodsType(merTotalDto); |
| | | List<MgtMapIntTotalVo> goodsTypeTotalList = new ArrayList<>(); |
| | | List<MgtMapBigTotalVo> goodsTypeMoneyList = new ArrayList<>(); |
| | | if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) { |
| | | MgtMapIntTotalVo MgtMapIntTotalVo; |
| | | MgtMapBigTotalVo mgtMapBigTotalVo; |
| | | // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组 |
| | | for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) { |
| | | MgtMapIntTotalVo = new MgtMapIntTotalVo(); |
| | | mgtMapBigTotalVo = new MgtMapBigTotalVo(); |
| | | MgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst()); |
| | | mgtMapBigTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()); |
| | | if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) { |
| | | MgtMapIntTotalVo.setMapKey("周期"); |
| | | mgtMapBigTotalVo.setMapKey("周期"); |
| | | } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) { |
| | | MgtMapIntTotalVo.setMapKey("服务"); |
| | | mgtMapBigTotalVo.setMapKey("服务"); |
| | | } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) { |
| | | MgtMapIntTotalVo.setMapKey("体验"); |
| | | mgtMapBigTotalVo.setMapKey("体验"); |
| | | } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) { |
| | | MgtMapIntTotalVo.setMapKey("单品"); |
| | | mgtMapBigTotalVo.setMapKey("单品"); |
| | | } |
| | | goodsTypeTotalList.add(MgtMapIntTotalVo); |
| | | goodsTypeMoneyList.add(mgtMapBigTotalVo); |
| | | } |
| | | orderTypeTotalVo.setGoodsTypeTotalList(goodsTypeTotalList); |
| | | orderTypeTotalVo.setGoodsTypeMoneyList(goodsTypeMoneyList); |
| | | } |
| | | return orderTypeTotalVo; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @description 商户端获取销售排行 |
| | | * @author jqs |
| | | * @date 2023/7/4 14:23 |
| | | * @param merTotalDto |
| | | * @return MerOrderGoodsRankVo |
| | | */ |
| | | @Override |
| | | public MerOrderGoodsRankVo getMerOrderGoodsRank(MerTotalDto merTotalDto){ |
| | | if(merTotalDto.getShopAllFlag()!=null&&merTotalDto.getShopAllFlag()==1){ |
| | | List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData(); |
| | | merTotalDto.setShopIdList(shopIdList); |
| | | merTotalDto.setShopId(null); |
| | | } |
| | | MerOrderGoodsRankVo orderGoodsRankVo = new MerOrderGoodsRankVo(); |
| | | List<MgtMapBigTotalVo> goodsRankList = orderMapper.listMerOrderTotalGoodsRank(merTotalDto); |
| | | if (goodsRankList != null && goodsRankList.size() > 0) { |
| | | goodsRankList = bigListRemoveNull(goodsRankList); |
| | | orderGoodsRankVo.setGoodsRankList(goodsRankList); |
| | | } |
| | | return orderGoodsRankVo; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @description 商户端获取渠道排行 |
| | | * @author jqs |
| | | * @date 2023/7/4 14:51 |
| | | * @param merTotalDto |
| | | * @return MerOrderFromRankVo |
| | | */ |
| | | @Override |
| | | public MerOrderFromRankVo getMerOrderFromRank(MerTotalDto merTotalDto){ |
| | | if(merTotalDto.getShopAllFlag()!=null&&merTotalDto.getShopAllFlag()==1){ |
| | | List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData(); |
| | | merTotalDto.setShopIdList(shopIdList); |
| | | merTotalDto.setShopId(null); |
| | | } |
| | | MerOrderFromRankVo merOrderFromRankVo = new MerOrderFromRankVo(); |
| | | //获取来源销售排名 |
| | | List<MgtMapBigTotalVo> orderFromList = orderMapper.listMerOrderTotalOrderFrom(merTotalDto); |
| | | if (orderFromList != null && orderFromList.size() > 0) { |
| | | orderFromList = bigListRemoveNull(orderFromList); |
| | | merOrderFromRankVo.setOrderFromRankList(orderFromList); |
| | | } |
| | | return merOrderFromRankVo; |
| | | } |
| | | |
| | | /** |
| | | * @description 商户端订单管理统计 |
| | | * @author jqs |
| | | * @date 2023/7/4 16:27 |
| | | * @param merBaseDto |
| | | * @return MerTotalOrderVo |
| | | */ |
| | | @Override |
| | | public MerTotalOrderVo totalMerOrder(MerBaseDto merBaseDto){ |
| | | return orderMapper.totalMerOrder(merBaseDto.getShopId()); |
| | | } |
| | | } |