xiaoyong931011
2023-01-12 205dc076abb2583f3c476a3c94bcf75ac9c76813
20221227 充值归集
2 files modified
67 ■■■■ changed files
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java 38 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java 29 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -215,25 +215,25 @@
        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()
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -715,6 +715,35 @@
        );
        //更新会员星级
        this.baseMapper.updateAccountLevelById(buyStarDescription,mallMember.getId());
        //直推返利
        if(StrUtil.isNotEmpty(mallMember.getReferrerId())){
            //下单人的直推上级
            MallMember mallMemberOne = this.baseMapper.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 = buyStarPriceBigDecimal.multiply(rewardPercent).setScale(4, BigDecimal.ROUND_DOWN);
                Long marketSubsidyFlowId = mallMoneyFlowService.addMoneyFlow(
                        mallMember.getId(),
                        mallMemberStarBuy.getBuyCode(),
                        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());
            }
        }
        return new FebsResponse().success();
    }
}