| | |
| | | if(ObjectUtil.isEmpty(dappMemberEntityRef)){ |
| | | return; |
| | | } |
| | | |
| | | memberId = dappMemberEntityRef.getId(); |
| | | //如果为购买星级激活用户,则跳过 |
| | | Integer activeStatus = dappMemberEntityRef.getActiveStatus(); |
| | | if(1 != activeStatus){ |
| | | memberId = dappMemberEntityRef.getId(); |
| | | continue; |
| | | } |
| | | //获取上级全部的直推 |
| | |
| | | |
| | | //如果没有直推,则跳过 |
| | | if(CollUtil.isEmpty(memberInviteList)){ |
| | | memberId = dappMemberEntityRef.getId(); |
| | | continue; |
| | | } |
| | | |
| | |
| | | } |
| | | //如果直推不满足当前规则需要的人数,则跳过 |
| | | if(memberInviteList.size() < rule.getInviteNum()){ |
| | | memberId = dappMemberEntityRef.getId(); |
| | | continue; |
| | | } |
| | | BigDecimal perkPercent = new BigDecimal(rule.getPerkPercent()); |
| | | BigDecimal perkPercent = new BigDecimal(rule.getPerkPercent()).multiply(new BigDecimal("0.01")); |
| | | BigDecimal perkAmount = perkPercent.multiply(amount); |
| | | Long perkMemberId = dappMemberEntityRef.getId(); |
| | | //生成一条流水 |
| | |
| | | DataDictionaryEnum.PERK_NUM.getType(), |
| | | DataDictionaryEnum.PERK_NUM.getCode() |
| | | ); |
| | | BigDecimal perKNum = new BigDecimal(ObjectUtil.isEmpty(perkPercentDic) ? "1000" : perKNumDic.getValue()); |
| | | BigDecimal perKNum = new BigDecimal(ObjectUtil.isEmpty(perKNumDic) ? "1000" : perKNumDic.getValue()); |
| | | |
| | | BigDecimal perkAmount = amount.multiply(perkPercent).divide(perKNum, 8, BigDecimal.ROUND_DOWN); |
| | | if(BigDecimal.ZERO.compareTo(perkAmount) >= 0){ |
| | |
| | | return; |
| | | } |
| | | //奖励金额 |
| | | BigDecimal memberPerk = perkPercent.multiply(buyNode); |
| | | BigDecimal memberPerk = perkAmount.multiply(buyNode); |
| | | if(BigDecimal.ZERO.compareTo(memberPerk) >= 0){ |
| | | continue; |
| | | } |
| | | dappWalletService.updateWalletCoinWithLock(memberPerk, dappMemberEntity.getId(), 1); |
| | | |
| | | DappFundFlowEntity fundFlow = new DappFundFlowEntity( |