From a721f2949a80666751ed7390a9ecba97454f140e Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 15 Sep 2022 17:48:09 +0800
Subject: [PATCH] 20220902

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 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 c803616..86f5b94 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
@@ -76,6 +76,8 @@
     private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
     private final MallLeaderAchieveMapper mallLeaderAchieveMapper;
     private final IApiMallTeamLeaderService iApiMallTeamLeaderService;
+    private final IMallElectronicFenceService iMallElectronicFenceService;
+    private final MallElectronicFenceMapper mallElectronicFenceMapper;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -90,6 +92,17 @@
         MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(takeUniqueCode);
         if(ObjectUtil.isEmpty(mallTeamLeader)){
             throw new FebsException("请重新选择团长");
+        }
+
+        //订单范围内才允许下单
+        MallAddressInfo address = mallAddressInfoMapper.selectAddressInfoByMemberIdAndId(member.getId(), addOrderDto.getAddressId());
+        MallElectronicFence mallElectronicFence = mallElectronicFenceMapper.selectByTeamLeaderCode(mallTeamLeader.getUniqueCode());
+        if(ObjectUtil.isNotEmpty(mallElectronicFence)){
+            String inStr = iMallElectronicFenceService.fenceToLocation(mallElectronicFence.getGKey(),
+                    mallElectronicFence.getServiceId(), address.getLongitude() + "," + address.getLatitude(), mallElectronicFence.getGid());
+            if("1".equals(inStr)){
+                throw new FebsException("不在当前团长的配送范围内");
+            }
         }
 
         String orderNo = MallUtils.getOrderNum();
@@ -207,7 +220,6 @@
         }
         orderInfo.setAmount(total);
 
-        MallAddressInfo address = mallAddressInfoMapper.selectAddressInfoByMemberIdAndId(member.getId(), addOrderDto.getAddressId());
         orderInfo.setName(address.getName());
         orderInfo.setPhone(address.getPhone());
         orderInfo.setIsHome(addOrderDto.getIsHome());

--
Gitblit v1.9.1