| | |
| | | if(1 != activeStatus){ |
| | | continue; |
| | | } |
| | | //获取上级全部的直推 |
| | | //获取上级全部的激活直推 |
| | | String inviteId = dappMemberEntityRef.getInviteId(); |
| | | QueryWrapper<DappMemberEntity> memberInviteQuery = new QueryWrapper<>(); |
| | | memberInviteQuery.eq("referer_id",inviteId); |
| | | memberInviteQuery.eq("active_status",1); |
| | | List<DappMemberEntity> memberInviteList = dappMemberDao.selectList(memberInviteQuery); |
| | | |
| | | //如果没有直推,则跳过 |
| | |
| | | BigDecimal perkPercent = new BigDecimal(rule.getPerkPercent()).multiply(new BigDecimal("0.01")); |
| | | BigDecimal perkAmount = perkPercent.multiply(amount); |
| | | Long perkMemberId = dappMemberEntityRef.getId(); |
| | | //生成一条流水 |
| | | DappFundFlowEntity rePutInFlow = new DappFundFlowEntity( |
| | | perkMemberId, |
| | | |
| | | this.updateBalanceInsertFlow( |
| | | perkAmount, |
| | | 15, |
| | | 2, |
| | | null, |
| | | null); |
| | | dappFundFlowDao.insert(rePutInFlow); |
| | | //更新用户的金额 |
| | | dappWalletService.updateWalletCoinWithLock(perkAmount, perkMemberId, 1); |
| | | perkMemberId, |
| | | MoneyFlowEnum.DYNAMIC_PERK.getValue(), |
| | | StrUtil.format(MoneyFlowEnum.DYNAMIC_PERK.getDescrition(),amount,memberInviteList.size(),perkAmount)); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | BigDecimal daoNodeAmount = daoNodeAmountTotal.divide(new BigDecimal(dappMemberEntities.size()),2,BigDecimal.ROUND_DOWN); |
| | | for(DappMemberEntity nodeMember : dappMemberEntities){ |
| | | this.updateBalanceInsertFlow( |
| | | daoNodeAmount, |
| | | // this.updateBalanceInsertFlow( |
| | | // daoNodeAmount, |
| | | // nodeMember.getId(), |
| | | // MoneyFlowEnum.NODE_PERK.getValue(), |
| | | // StrUtil.format(MoneyFlowEnum.NODE_PERK.getDescrition(),amount,dappMemberEntities.size(),daoNodeAmount)); |
| | | |
| | | |
| | | |
| | | //生成一条流水 |
| | | DappFundFlowEntity rePutInFlow = new DappFundFlowEntity( |
| | | nodeMember.getId(), |
| | | daoNodeAmount, |
| | | MoneyFlowEnum.NODE_PERK.getValue(), |
| | | 2, |
| | | null, |
| | | StrUtil.format(MoneyFlowEnum.NODE_PERK.getDescrition(),amount,dappMemberEntities.size(),daoNodeAmount)); |
| | | dappFundFlowDao.insert(rePutInFlow); |
| | | //更新用户的金额 |
| | | dappWalletService.updateWalletCoinWithLock(daoNodeAmount, nodeMember.getId(), 1); |
| | | } |
| | | } |
| | | |
| | |
| | | @Override |
| | | public void teamPerk(Long id) { |
| | | DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectById(id); |
| | | if(ObjectUtil.isEmpty(dappFundFlowEntity)){ |
| | | return; |
| | | } |
| | | |
| | | if(MoneyFlowEnum.CUN_CHU.getValue() != dappFundFlowEntity.getType()){ |
| | | return; |
| | |
| | | } |
| | | |
| | | QueryWrapper<DappMemberEntity> daoThreeQuery = new QueryWrapper<>(); |
| | | daoThreeQuery.eq("level", MemberLevelEnum.DAO_2.getCode()); |
| | | daoThreeQuery.eq("level", MemberLevelEnum.DAO_3.getCode()); |
| | | List<DappMemberEntity> daoThrees = dappMemberDao.selectList(daoThreeQuery); |
| | | if(CollUtil.isNotEmpty(daoThrees)){ |
| | | BigDecimal bigDecimal = totalAmount.multiply(new BigDecimal("0.2")).setScale(2, BigDecimal.ROUND_DOWN); |
| | |
| | | } |
| | | //获取全部上级 |
| | | ArrayList<DappMemberEntity> activeMembers = new ArrayList<>(); |
| | | List<String> refererIds = Arrays.asList(StrUtil.split(",", dappMemberEntity.getRefererIds())); |
| | | List<String> refererIds = Arrays.asList(StrUtil.split(dappMemberEntity.getRefererIds(),",")); |
| | | for(String inviteId : refererIds){ |
| | | DappMemberEntity memberEntity = dappMemberDao.selectMemberInfoByInviteId(inviteId); |
| | | if(ObjectUtil.isNotEmpty(memberEntity)){ |