From 95e01b8133653f30e3041b30b78dbf215891f324 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Wed, 03 Jul 2024 15:57:18 +0800 Subject: [PATCH] 逻辑 --- src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 43 ++++++++++++++++++++++++++++--------------- 1 files changed, 28 insertions(+), 15 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java index fb26134..4b8cb4e 100644 --- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java @@ -635,10 +635,11 @@ 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); //如果没有直推,则跳过 @@ -657,17 +658,12 @@ 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)); } } @@ -721,11 +717,25 @@ } 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); } } @@ -834,6 +844,9 @@ @Override public void teamPerk(Long id) { DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectById(id); + if(ObjectUtil.isEmpty(dappFundFlowEntity)){ + return; + } if(MoneyFlowEnum.CUN_CHU.getValue() != dappFundFlowEntity.getType()){ return; @@ -878,7 +891,7 @@ } 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); @@ -904,7 +917,7 @@ } //获取全部上级 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)){ -- Gitblit v1.9.1