From 8027634ef66360e745df4f496d4bc4cf227d59c7 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Fri, 23 May 2025 13:28:34 +0800 Subject: [PATCH] feat(mall): 新增自提点功能 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 32 +++++++++++++++++++++++++++++--- 1 files changed, 29 insertions(+), 3 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 9321b44..99c1ee7 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 @@ -281,10 +281,21 @@ mallMemberCoupon.setState(2); mallMemberCouponMapper.updateById(mallMemberCoupon); - //运费 - BigDecimal delivaryAmount = addOrderDto.getDeliveryAmount() == null ? BigDecimal.ZERO : addOrderDto.getDeliveryAmount(); - orderInfo.setCarriage(delivaryAmount); + BigDecimal delivaryAmount = BigDecimal.ZERO; + if(StrUtil.isEmpty(addOrderDto.getTakeUniqueCode())){ + delivaryAmount = addOrderDto.getDeliveryAmount() == null ? BigDecimal.ZERO : addOrderDto.getDeliveryAmount(); + orderInfo.setCarriage(delivaryAmount); + }else{ + MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(orderInfo.getTakeUniqueCode()); + if(mallTeamLeader!=null){ + throw new FebsException("自提点信息异常"); + } + orderInfo.setCarriage(delivaryAmount); + orderInfo.setTakeCode(ShareCodeUtil.toSerialCode(orderInfo.getId()) + MallUtils.getRandomNum(10)); + orderInfo.setTakeUniqueCode(mallTeamLeader.getUniqueCode()); + orderInfo.setDeliveryType(1); + } total = total.add(delivaryAmount); orderInfo.setAmount(total); orderInfo.setScoreAmount(totalScoreAmount); @@ -300,6 +311,7 @@ orderInfo.setLatitude(address.getLatitude()); orderInfo.setLongitude(address.getLongitude()); this.baseMapper.updateById(orderInfo); + //过期时间修改成24小时 agentProducer.sendOrderCancelDelayMsg(orderInfo.getId(), 24 * 60 * 60 * 1000L); return orderInfo.getId(); @@ -843,7 +855,21 @@ // } // } + OrderDetailVo orderDetailVo = MallOrderInfoConversion.INSTANCE.entityToDetailVo(orderInfo); + if(StrUtil.isNotEmpty(orderInfo.getTakeUniqueCode())){ + MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(orderInfo.getTakeUniqueCode()); + + if(ObjectUtil.isNotEmpty(mallTeamLeader)){ + orderDetailVo.setLeaderName(mallTeamLeader.getName()); + orderDetailVo.setLeaderPhone(mallTeamLeader.getPhone()); + orderDetailVo.setAddressPic(mallTeamLeader.getAddressPic()); + orderDetailVo.setAddressArea(mallTeamLeader.getAddressArea()); + orderDetailVo.setDetailAddress(mallTeamLeader.getDetailAddress()); + orderDetailVo.setLeaderLongitude(mallTeamLeader.getLongitude()); + orderDetailVo.setLeaderLatitude(mallTeamLeader.getLatitude()); + } + } MallExpressInfo expressInfo = expressInfoMapper.selectByOrderId(orderInfo.getId()); if(ObjectUtil.isNotEmpty(expressInfo)){ -- Gitblit v1.9.1