xiaoyong931011
2023-03-24 491eb89ab53f47ff6c3e386c35cbc55729c47f46
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -208,29 +208,32 @@
         *  2、返利对象:下单人的直推上级 10%,直推的直推 5%
         *  3、金额:补贴金额乘以分享奖励的比例
         */
        if(StrUtil.isEmpty(mallMember.getReferrerId())){
            return;
        }
        //下单人的直推上级
        MallMember mallMemberOne = memberMapper.selectInfoByInviteId(mallMember.getReferrerId());
        //生成直推返利的流水记录
        if(ObjectUtil.isNotEmpty(mallMemberOne)){
            DataDictionaryCustom rewardPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                    DataDictionaryEnum.REWARD_PERCENT.getType(),
                    DataDictionaryEnum.REWARD_PERCENT.getCode()
            );
            BigDecimal rewardPercent = new BigDecimal(rewardPercentDic.getValue()).multiply(new BigDecimal(0.01)).setScale(2,BigDecimal.ROUND_DOWN);
            BigDecimal directRewardAmount = subsidyAmount.multiply(rewardPercent).setScale(4, BigDecimal.ROUND_DOWN);
            Long marketSubsidyFlowId = mallMoneyFlowService.addMoneyFlow(
                    mallMember.getId(),
                    orderInfo.getOrderNo(),
                    directRewardAmount,
                    MallMoneyFlowTypeEnum.DIRECT_REWARD.getCode(),
                    MallMoneyFlow.STATUS_SUCCESS,
                    MallMoneyFlow.IS_RETURN_Y,
                    mallMemberOne.getId(),
                    FlowTypeEnum.BALANCE.getValue(),
                    MallMoneyFlowTypeEnum.DIRECT_REWARD.getName()
            );
            memberWalletService.addBalance(directRewardAmount,mallMemberOne.getId());
//            DataDictionaryCustom rewardPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
//                    DataDictionaryEnum.REWARD_PERCENT.getType(),
//                    DataDictionaryEnum.REWARD_PERCENT.getCode()
//            );
//            BigDecimal rewardPercent = new BigDecimal(rewardPercentDic.getValue()).multiply(new BigDecimal(0.01)).setScale(2,BigDecimal.ROUND_DOWN);
//            BigDecimal directRewardAmount = subsidyAmount.multiply(rewardPercent).setScale(4, BigDecimal.ROUND_DOWN);
//
//            Long marketSubsidyFlowId = mallMoneyFlowService.addMoneyFlow(
//                    mallMember.getId(),
//                    orderInfo.getOrderNo(),
//                    directRewardAmount,
//                    MallMoneyFlowTypeEnum.DIRECT_REWARD.getCode(),
//                    MallMoneyFlow.STATUS_SUCCESS,
//                    MallMoneyFlow.IS_RETURN_Y,
//                    mallMemberOne.getId(),
//                    FlowTypeEnum.BALANCE.getValue(),
//                    MallMoneyFlowTypeEnum.DIRECT_REWARD.getName()
//            );
//            memberWalletService.addBalance(directRewardAmount,mallMemberOne.getId());
            DataDictionaryCustom shareOneDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                    DataDictionaryEnum.LEVEL_ONE.getType(),
                    DataDictionaryEnum.LEVEL_ONE.getCode()
@@ -250,6 +253,10 @@
                    MallMoneyFlowTypeEnum.SHARE_REWARD_ONE.getName()
            );
            memberWalletService.addBalance(shareOneAmount,mallMemberOne.getId());
        }
        if(StrUtil.isEmpty(mallMemberOne.getReferrerId())){
            return;
        }
        //下单人的直推上级的直推
        MallMember mallMemberTwo = memberMapper.selectInfoByInviteId(mallMemberOne.getReferrerId());
@@ -276,6 +283,11 @@
        /**
         * 团队管理补贴
         */
        if(StrUtil.isEmpty(mallMember.getReferrerIds())){
            return;
        }
        //下单人所有的上级
        String referrerIds = mallMember.getReferrerIds();
        List<String> refererIdList = StrUtil.split(referrerIds, ",", -1, true, true);