From 4e88d81927a660254005ff247ea79a42616388b4 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 04 Aug 2022 17:32:01 +0800
Subject: [PATCH] 20220804  配送限制

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |   23 ++++++++++++++---------
 1 files changed, 14 insertions(+), 9 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 1761ef5..9ac608f 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
@@ -71,10 +71,6 @@
         if(StrUtil.isEmpty(takeUniqueCode)){
             throw new FebsException("请选择自提点");
         }
-        MallAddressInfo address = mallAddressInfoMapper.selectAddressInfoByMemberIdAndId(member.getId(), addOrderDto.getAddressId());
-        if (address == null) {
-            throw new FebsException("地址不存在");
-        }
 
         String orderNo = MallUtils.getOrderNum();
         MallOrderInfo orderInfo = new MallOrderInfo();
@@ -82,11 +78,6 @@
         orderInfo.setOrderTime(new Date());
         orderInfo.setMemberId(member.getId());
         orderInfo.setStatus(OrderStatusEnum.WAIT_PAY.getValue());
-        orderInfo.setName(address.getName());
-        orderInfo.setAddress(address.getArea() + address.getAddress());
-        orderInfo.setPhone(address.getPhone());
-        orderInfo.setLatitude(address.getLatitude());
-        orderInfo.setLongitude(address.getLongitude());
         orderInfo.setRemark(addOrderDto.getRemark());
         orderInfo.setOrderType(addOrderDto.getOrderType());
 
@@ -180,6 +171,20 @@
 
         orderInfo.setAmount(total);
         orderInfo.setCarriage(carriage);
+
+        MallAddressInfo address = mallAddressInfoMapper.selectAddressInfoByMemberIdAndId(member.getId(), addOrderDto.getAddressId());
+        orderInfo.setName(address.getName());
+        orderInfo.setPhone(address.getPhone());
+        orderInfo.setIsHome(addOrderDto.getIsHome());
+        //订单金额大于50,且选择送货上门,订单需要选择地址信息
+        if(total.compareTo(new BigDecimal(50)) > 0 && 1 == addOrderDto.getIsHome()){
+            if (StrUtil.isBlank(address.getLatitude())||StrUtil.isBlank(address.getLongitude())) {
+                throw new FebsException("请添加地址");
+            }
+            orderInfo.setAddress(address.getArea() + address.getAddress());
+            orderInfo.setLatitude(address.getLatitude());
+            orderInfo.setLongitude(address.getLongitude());
+        }
         this.baseMapper.updateById(orderInfo);
 
         agentProducer.sendOrderCancelDelayMsg(orderInfo.getId(), 15 * 60 * 1000L);

--
Gitblit v1.9.1