xiaoyong931011
2022-09-06 51542f45e01ff434381ebed7584917bca5b5c197
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -513,15 +513,19 @@
        Long orderInfoId = orderInfo.getId();
        List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(orderInfoId);
        if(CollUtil.isNotEmpty(mallOrderItemList)){
            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();
//                            BigDecimal subtract = orderInfo.getAmount().subtract(orderInfo.getCarriage() == null ? BigDecimal.ZERO : orderInfo.getCarriage());
                    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);