| | |
| | | private final IMallMoneyFlowService mallMoneyFlowService; |
| | | private final MallMemberClassMapper mallMemberClassMapper; |
| | | private final MallMemberHouseMapper mallMemberHouseMapper; |
| | | private final MallMoneyFlowMapper mallMoneyFlowMapper; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | |
| | | String referrerId = mallMember.getReferrerId(); |
| | | MallMember mallMemberParent = memberMapper.selectInfoByInviteId(referrerId); |
| | | Long id = mallMemberParent.getId(); |
| | | DataDictionaryCustom returnPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.MEMBER_RETURN_PERCENT.getType(), |
| | | DataDictionaryEnum.MEMBER_RETURN_PERCENT.getCode() |
| | | ); |
| | | String returnPercentStr = StrUtil.isNotEmpty(returnPercentDic.getValue()) ? "1" : returnPercentDic.getValue(); |
| | | BigDecimal returnPercent = new BigDecimal(returnPercentStr).divide(new BigDecimal(100), 2, BigDecimal.ROUND_DOWN); |
| | | BigDecimal amountActual = amountBigDecimal.multiply(returnPercent).setScale(2, BigDecimal.ROUND_DOWN); |
| | | |
| | | mallMoneyFlowService.addMoneyFlow( |
| | | mallMember.getId(), |
| | | amountActual, |
| | | MoneyFlowTypeEnum.DYNAMIC_ACHIEVE.getValue(), |
| | | mallOrderInfo.getOrderNo(), |
| | | "直推奖", |
| | | "直推奖", |
| | | id, |
| | | 1, |
| | | FlowTypeEnum.BALANCE.getValue(), |
| | | 2); |
| | | MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOneByOrderNoAndMemberIdAndRtMemberId(mallOrderInfo.getOrderNo(), memberId, id); |
| | | if(ObjectUtil.isEmpty(mallMoneyFlow)){ |
| | | DataDictionaryCustom returnPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.MEMBER_RETURN_PERCENT.getType(), |
| | | DataDictionaryEnum.MEMBER_RETURN_PERCENT.getCode() |
| | | ); |
| | | String returnPercentStr = StrUtil.isNotEmpty(returnPercentDic.getValue()) ? "1" : returnPercentDic.getValue(); |
| | | BigDecimal returnPercent = new BigDecimal(returnPercentStr).divide(new BigDecimal(100), 2, BigDecimal.ROUND_DOWN); |
| | | BigDecimal amountActual = amountBigDecimal.multiply(returnPercent).setScale(2, BigDecimal.ROUND_DOWN); |
| | | |
| | | mallMoneyFlowService.addMoneyFlow( |
| | | mallMember.getId(), |
| | | amountActual, |
| | | MoneyFlowTypeEnum.DYNAMIC_ACHIEVE.getValue(), |
| | | mallOrderInfo.getOrderNo(), |
| | | "直推奖", |
| | | "直推奖", |
| | | id, |
| | | 1, |
| | | FlowTypeEnum.BALANCE.getValue(), |
| | | 2); |
| | | } |
| | | } |
| | | } |
| | | for(MallOrderItem mallOrderItem : mallOrderItemList){ |