From 097f92827a7f6896dd2861ee83dcfed9204f1abc Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 05 Sep 2022 17:27:03 +0800 Subject: [PATCH] 20220902 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 30 ++++++++++++++++++++++++++---- 1 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java index e9f6284..b45cace 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java @@ -85,6 +85,11 @@ throw new FebsException("请选择自提点"); } + MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(takeUniqueCode); + if(ObjectUtil.isEmpty(mallTeamLeader)){ + throw new FebsException("请重新选择团长"); + } + String orderNo = MallUtils.getOrderNum(); MallOrderInfo orderInfo = new MallOrderInfo(); orderInfo.setOrderNo(orderNo); @@ -187,9 +192,9 @@ BigDecimal delivaryAmount = addOrderDto.getDeliveryAmount() == null ? BigDecimal.ZERO : addOrderDto.getDeliveryAmount(); if(BigDecimal.ZERO.compareTo(delivaryAmount) < 0 && 1 == addOrderDto.getIsHome()){ total = total.add(delivaryAmount); + orderInfo.setCarriage(delivaryAmount); } orderInfo.setAmount(total); - orderInfo.setCarriage(carriage); MallAddressInfo address = mallAddressInfoMapper.selectAddressInfoByMemberIdAndId(member.getId(), addOrderDto.getAddressId()); orderInfo.setName(address.getName()); @@ -227,6 +232,23 @@ orderInfo.setStatus(OrderStatusEnum.CANCEL.getValue()); orderInfo.setCancelType(MallOrderInfo.CANCEL_BY_SELF); this.baseMapper.updateById(orderInfo); + List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(id); + if(CollUtil.isNotEmpty(mallOrderItemList)){ + for(MallOrderItem mallOrderItem : mallOrderItemList){ + Long goodsId = mallOrderItem.getGoodsId(); + Long skuId = mallOrderItem.getSkuId(); + Integer cnt = mallOrderItem.getCnt(); + MallGoods mallGoods = mallGoodsMapper.selectById(goodsId); + mallGoods.setVolume(mallGoods.getVolume() - cnt); + mallGoods.setStock(mallGoods.getStock() + cnt); + mallGoodsMapper.updateById(mallGoods); + + MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(skuId); + mallGoodsSku.setSkuVolume(mallGoodsSku.getSkuVolume() - cnt); + mallGoodsSku.setStock(mallGoodsSku.getStock() + cnt); + mallGoodsSkuMapper.updateById(mallGoodsSku); + } + } } /** @@ -444,8 +466,7 @@ } OrderDetailVo orderDetailVo = MallOrderInfoConversion.INSTANCE.entityToDetailVo(orderInfo); - orderDetailVo.setLeaderLatitude(orderInfo.getLeaderLatitude()); - orderDetailVo.setLeaderLongitude(orderInfo.getLeaderLongitude()); + // if (orderInfo.getStatus() == OrderStatusEnum.WAIT_FINISH.getValue()) { // MallExpressInfo expressInfo = expressInfoMapper.selectByOrderId(orderInfo.getId()); // orderDetailVo.setExpressNo(expressInfo.getExpressNo()); @@ -492,7 +513,8 @@ MallLeaderAchieve mallLeaderAchieve = new MallLeaderAchieve(); mallLeaderAchieve.setMemberId(orderInfo.getMemberId()); mallLeaderAchieve.setOrderNo(orderInfo.getOrderNo()); - mallLeaderAchieve.setAmount(orderInfo.getAmount()); + BigDecimal subtract = orderInfo.getAmount().subtract(orderInfo.getCarriage() == null ? BigDecimal.ZERO : orderInfo.getCarriage()); + mallLeaderAchieve.setAmount(subtract); mallLeaderAchieve.setUniqueCode(orderInfo.getTakeUniqueCode()); mallLeaderAchieve.setState(MallLeaderAchieve.STATE_ONE); mallLeaderAchieveMapper.insert(mallLeaderAchieve); -- Gitblit v1.9.1