From 927cab5d3920836864c23600f643224afbd732af Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 06 Dec 2022 15:20:26 +0800
Subject: [PATCH] 20221130
---
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 39 ++++++++++++++++++++++++++++++++++++++-
1 files changed, 38 insertions(+), 1 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 924b777..82f1224 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
@@ -487,6 +487,38 @@
if(ObjectUtil.isEmpty(dappMemberEntity)){
return;
}
+ //所有上级(不包含直属上级)
+ String refererIds = dappMemberEntity.getRefererIds();
+ List<String> refererIdList = StrUtil.split(refererIds, ',');
+ if(CollUtil.isNotEmpty(refererIdList)){
+ for(String inviteIdStr : refererIdList){
+ DappMemberEntity dappMemberEntityUp = dappMemberDao.selectMemberInfoByInviteId(inviteIdStr);
+ if(ObjectUtil.isEmpty(dappMemberEntityUp)){
+ continue;
+ }
+ String accountType = dappMemberEntityUp.getAccountType();
+ if(DataDictionaryEnum.BIG_BOSS.getCode().equals(accountType)){
+ continue;
+ }
+ //当前为BOSS,且直推中有两个BOSS以上,则升级BIG_BOSS
+ if(DataDictionaryEnum.BOSS.getCode().equals(accountType)){
+ Integer bossCount = dappMemberDao.selectCountByAccountTypeAndRefererId(DataDictionaryEnum.BOSS.getCode(),dappMemberEntityUp.getInviteId());
+ if(2 <= bossCount){
+ dappMemberDao.updateMemberAccountType(DataDictionaryEnum.BIG_BOSS.getCode(),dappMemberEntityUp.getId());
+ }
+ continue;
+ }
+ //当前为AGENT,且直推中有两个以上,则升级BOSS
+ if(DataDictionaryEnum.AGENT.getCode().equals(accountType)){
+ Integer bossCount = dappMemberDao.selectCountByAccountTypeAndRefererId(null,dappMemberEntityUp.getInviteId());
+ if(2 <= bossCount){
+ dappMemberDao.updateMemberAccountType(DataDictionaryEnum.BOSS.getCode(),dappMemberEntityUp.getId());
+ }
+ continue;
+ }
+ }
+ }
+ //直属上级
String accountType = dappMemberEntity.getAccountType();
if(DataDictionaryEnum.BIG_BOSS.getCode().equals(accountType)){
return;
@@ -523,7 +555,12 @@
//金额
BigDecimal amount = dappFundFlow.getAmount();
//目标地址
- String address = dappFundFlow.getAddress();
+ Long memberId = dappFundFlow.getMemberId();
+ DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
+ if(ObjectUtil.isEmpty(dappMemberEntity)){
+ return;
+ }
+ String address = dappMemberEntity.getAddress();
String hash = ChainService.getInstance(ChainEnum.BNB.name()).transferBaseToken(address, amount);
if(StrUtil.isEmpty(hash)){
return;
--
Gitblit v1.9.1