xiaoyong931011
2022-09-16 9b58253767ba7f90313a46bdd93f28fef137cb7e
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -96,14 +96,14 @@
        //订单范围内才允许下单
        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("不在当前团长的配送范围内");
            }
        }
//        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();
@@ -545,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);
                    }
                }
            }
        }