|  |  |  | 
|---|
|  |  |  | MallMoneyFlowTypeEnum.MARKET_SUBSIDIES.getName() | 
|---|
|  |  |  | ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //        memberWalletService.addBalance(subsidyAmount.setScale(4, BigDecimal.ROUND_DOWN),mallMember.getId()); | 
|---|
|  |  |  | memberWalletService.add(subsidyAmount.setScale(4, BigDecimal.ROUND_DOWN), mallMember.getId(), "balance"); | 
|---|
|  |  |  | memberWalletService.addBalance(subsidyAmount.setScale(2, BigDecimal.ROUND_DOWN),mallMember.getId()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 生成直推返利的流水记录 | 
|---|
|  |  |  | 
|---|
|  |  |  | *  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() | 
|---|
|  |  |  | ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //            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()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | memberWalletService.add(directRewardAmount, mallMemberOne.getId(), "balance"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | DataDictionaryCustom shareOneDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( | 
|---|
|  |  |  | DataDictionaryEnum.LEVEL_ONE.getType(), | 
|---|
|  |  |  | DataDictionaryEnum.LEVEL_ONE.getCode() | 
|---|
|  |  |  | 
|---|
|  |  |  | FlowTypeEnum.BALANCE.getValue(), | 
|---|
|  |  |  | MallMoneyFlowTypeEnum.SHARE_REWARD_ONE.getName() | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | //            memberWalletService.addBalance(shareOneAmount,mallMemberOne.getId()); | 
|---|
|  |  |  | memberWalletService.add(shareOneAmount, mallMemberOne.getId(), "balance"); | 
|---|
|  |  |  | memberWalletService.addBalance(shareOneAmount,mallMemberOne.getId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(StrUtil.isEmpty(mallMemberOne.getReferrerId())){ | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //下单人的直推上级的直推 | 
|---|
|  |  |  | MallMember mallMemberTwo = memberMapper.selectInfoByInviteId(mallMemberOne.getReferrerId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | FlowTypeEnum.BALANCE.getValue(), | 
|---|
|  |  |  | MallMoneyFlowTypeEnum.SHARE_REWARD_TWO.getName() | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | //            memberWalletService.addBalance(shareTwoAmount,mallMemberTwo.getId()); | 
|---|
|  |  |  | memberWalletService.add(shareTwoAmount, mallMemberTwo.getId(), "balance"); | 
|---|
|  |  |  | memberWalletService.addBalance(shareTwoAmount,mallMemberTwo.getId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 团队管理补贴 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(StrUtil.isEmpty(mallMember.getReferrerIds())){ | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //下单人所有的上级 | 
|---|
|  |  |  | String referrerIds = mallMember.getReferrerIds(); | 
|---|
|  |  |  | List<String> refererIdList = StrUtil.split(referrerIds, ",", -1, true, true); | 
|---|
|  |  |  | 
|---|
|  |  |  | MallMoneyFlowTypeEnum.TEAM_REWARD.getName() | 
|---|
|  |  |  | ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //                    memberWalletService.addBalance(teamManageAmount,mallMemberUp.getId()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | memberWalletService.add(teamManageAmount, mallMemberUp.getId(), "balance"); | 
|---|
|  |  |  | memberWalletService.addBalance(teamManageAmount,mallMemberUp.getId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | levelStart = levelUp; | 
|---|
|  |  |  | } | 
|---|