From 786742ed3d630ddb1244cf41f39c0c6aaf929ad2 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 16 Sep 2022 11:49:52 +0800
Subject: [PATCH] 20220902

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |   48 +++++++++++++++++++++++++++++++-----------------
 1 files changed, 31 insertions(+), 17 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..f152ab7 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)
@@ -91,6 +93,17 @@
         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();
         MallOrderInfo orderInfo = new MallOrderInfo();
@@ -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());
@@ -533,23 +545,25 @@
         if(CollUtil.isNotEmpty(mallOrderItemList)){
 
             MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(orderInfo.getTakeUniqueCode());
+            Integer profitSwitch = mallTeamLeader.getProfitSwitch()==null?2:mallTeamLeader.getProfitSwitch();
             BigDecimal bonusPercent =new BigDecimal(mallTeamLeader.getBonusPercent()==null?"0":mallTeamLeader.getBonusPercent());
-//            DataDictionaryCustom dicBonusPercent = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.BONUS_PERCENT.getType(), DataDictionaryEnum.BONUS_PERCENT.getCode());
-//            BigDecimal bonusPercent = new BigDecimal(dicBonusPercent.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
-            for(MallOrderItem mallOrderItem : mallOrderItemList){
-                Integer state = mallOrderItem.getState() == null ? 1 : mallOrderItem.getState();
-                if(1 == state){
-                    MallLeaderAchieve mallLeaderAchieve = new MallLeaderAchieve();
-                    mallLeaderAchieve.setMemberId(orderInfo.getMemberId());
-                    mallLeaderAchieve.setOrderNo(orderInfo.getOrderNo());
-                    mallLeaderAchieve.setOrderItemId(mallOrderItem.getId());
-                    BigDecimal itemAmount = mallOrderItem.getAmount();
-                    mallLeaderAchieve.setAmount(itemAmount);
-                    BigDecimal bigDecimal = bonusPercent.multiply(itemAmount).setScale(2, BigDecimal.ROUND_DOWN);
-                    mallLeaderAchieve.setProfitAmount(bigDecimal);
-                    mallLeaderAchieve.setUniqueCode(orderInfo.getTakeUniqueCode());
-                    mallLeaderAchieve.setState(MallLeaderAchieve.STATE_ONE);
-                    mallLeaderAchieveMapper.insert(mallLeaderAchieve);
+
+            if(1 == profitSwitch){
+                for(MallOrderItem mallOrderItem : mallOrderItemList){
+                    Integer state = mallOrderItem.getState() == null ? 1 : mallOrderItem.getState();
+                    if(1 == state){
+                        MallLeaderAchieve mallLeaderAchieve = new MallLeaderAchieve();
+                        mallLeaderAchieve.setMemberId(orderInfo.getMemberId());
+                        mallLeaderAchieve.setOrderNo(orderInfo.getOrderNo());
+                        mallLeaderAchieve.setOrderItemId(mallOrderItem.getId());
+                        BigDecimal itemAmount = mallOrderItem.getAmount();
+                        mallLeaderAchieve.setAmount(itemAmount);
+                        BigDecimal bigDecimal = bonusPercent.multiply(itemAmount).setScale(2, BigDecimal.ROUND_DOWN);
+                        mallLeaderAchieve.setProfitAmount(bigDecimal);
+                        mallLeaderAchieve.setUniqueCode(orderInfo.getTakeUniqueCode());
+                        mallLeaderAchieve.setState(MallLeaderAchieve.STATE_ONE);
+                        mallLeaderAchieveMapper.insert(mallLeaderAchieve);
+                    }
                 }
             }
         }

--
Gitblit v1.9.1