From 1c18faca8b3c3031af60b7a759c9b741294cb37d Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 11 Nov 2022 01:20:42 +0800
Subject: [PATCH] 20221021
---
src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java | 37 ++++++++++++------
src/main/resources/mapper/dapp/DappMemberDao.xml | 19 +++++++++
src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java | 2 +
src/test/java/cc/mrbird/febs/JunitTest.java | 43 ++++++++++++++-------
4 files changed, 73 insertions(+), 28 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
index a8ee956..26236a5 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
@@ -71,4 +71,6 @@
IPage<AppVersion> getAppVersionListInPage(Page<AppVersion> page, AppVersion appVersion);
IPage<MemberCoinChargeEntity> getChargeListInPage(Page<MemberCoinChargeEntity> page, MemberCoinChargeEntity memberCoinChargeEntity);
+
+ List<DappMemberEntity> selectTotalMemberByRefererIdAndIdentity(@Param("inviteId")String inviteId);
}
diff --git a/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java b/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
index 80db3f8..f8db81e 100644
--- a/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
+++ b/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
@@ -427,13 +427,13 @@
dappMemberDao.updateIdentity();
}else{
List<DappMemberEntity> LEVEL_IB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_MB.getCode(), DataDictionaryEnum.LEVEL_IB.getCode());
- List<DappMemberEntity> LEVEL_FIB = getMemberLevelList(LEVEL_IB, DataDictionaryEnum.LEVEL_IB.getCode(), DataDictionaryEnum.LEVEL_FIB.getCode());
- List<DappMemberEntity> LEVEL_CIB = getMemberLevelList(LEVEL_FIB, DataDictionaryEnum.LEVEL_FIB.getCode(), DataDictionaryEnum.LEVEL_CIB.getCode());
- List<DappMemberEntity> LEVEL_AIB = getMemberLevelList(LEVEL_CIB, DataDictionaryEnum.LEVEL_CIB.getCode(), DataDictionaryEnum.LEVEL_AIB.getCode());
- List<DappMemberEntity> LEVEL_GIB = getMemberLevelList(LEVEL_AIB, DataDictionaryEnum.LEVEL_AIB.getCode(), DataDictionaryEnum.LEVEL_GIB.getCode());
- List<DappMemberEntity> LEVEL_BP = getMemberLevelList(LEVEL_GIB, DataDictionaryEnum.LEVEL_GIB.getCode(), DataDictionaryEnum.LEVEL_BP.getCode());
- List<DappMemberEntity> LEVEL_SP = getMemberLevelList(LEVEL_BP, DataDictionaryEnum.LEVEL_BP.getCode(), DataDictionaryEnum.LEVEL_SP.getCode());
- List<DappMemberEntity> LEVEL_GP = getMemberLevelList(LEVEL_SP, DataDictionaryEnum.LEVEL_SP.getCode(), DataDictionaryEnum.LEVEL_GP.getCode());
+ List<DappMemberEntity> LEVEL_FIB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_IB.getCode(), DataDictionaryEnum.LEVEL_FIB.getCode());
+ List<DappMemberEntity> LEVEL_CIB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_FIB.getCode(), DataDictionaryEnum.LEVEL_CIB.getCode());
+ List<DappMemberEntity> LEVEL_AIB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_CIB.getCode(), DataDictionaryEnum.LEVEL_AIB.getCode());
+ List<DappMemberEntity> LEVEL_GIB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_AIB.getCode(), DataDictionaryEnum.LEVEL_GIB.getCode());
+ List<DappMemberEntity> LEVEL_BP = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_GIB.getCode(), DataDictionaryEnum.LEVEL_BP.getCode());
+ List<DappMemberEntity> LEVEL_SP = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_BP.getCode(), DataDictionaryEnum.LEVEL_SP.getCode());
+ List<DappMemberEntity> LEVEL_GP = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_SP.getCode(), DataDictionaryEnum.LEVEL_GP.getCode());
}
}
@@ -447,14 +447,25 @@
Long memberEntityId = dappMemberEntity.getId();
String refererId = dappMemberEntity.getRefererId();
String inviteId = dappMemberEntity.getInviteId();
- //下级是否存在三个账户总金额大于51的会员,并且代理等级为identity
- List<DappMemberEntity> levelMbMembers = dappMemberDao.selectTotalAmountByRefererIdAndIdentity(inviteId,identity);
- if(CollUtil.isNotEmpty(levelMbMembers) && 3 <= levelMbMembers.size()){
+ //是否存在三条以上的推广线路,存在才能升级,不满足则
+ List<DappMemberEntity> levelMbMembers = dappMemberDao.selectTotalMemberByRefererIdAndIdentity(inviteId);
+ if(3 > levelMbMembers.size()){
+ dappMemberEntity.setIdentity(DataDictionaryEnum.LEVEL_MB.getCode());
+ dappMemberDao.updateById(dappMemberEntity);
+ continue;
+ }
+ int identityDown = 0;
+ for(DappMemberEntity dappMemberDown : levelMbMembers){
+ //下级是否存在账户总金额大于51的会员,并且代理等级为identity
+ List<DappMemberEntity> levelMbMembersDown = dappMemberDao.selectTotalAmountByRefererIdAndIdentity(dappMemberDown.getInviteId(),identity);
+ if(CollUtil.isNotEmpty(levelMbMembersDown)){
+ identityDown = identityDown + 1;
+ }
+
+ }
+ if(identityDown >= 3){
//设置identityNext级别
dappMemberDao.updateIdentityByMemberId(identityNext,memberEntityId);
- //获取他的上级会员信息
- DappMemberEntity dappMemberEntityNext = dappMemberDao.selectMemberInfoByInviteId(refererId);
- dappMemberEntitiesNext.add(dappMemberEntityNext);
}
}
}
diff --git a/src/main/resources/mapper/dapp/DappMemberDao.xml b/src/main/resources/mapper/dapp/DappMemberDao.xml
index 7f74145..44dd7b6 100644
--- a/src/main/resources/mapper/dapp/DappMemberDao.xml
+++ b/src/main/resources/mapper/dapp/DappMemberDao.xml
@@ -238,7 +238,8 @@
inner join dapp_member b on a.member_id = b.id
where
a.total_amount <![CDATA[ >= ]]> 51
- and find_in_set(#{inviteId}, b.referer_ids)
+ and
+ (find_in_set(#{inviteId}, b.referer_ids) or b.invite_id = #{inviteId})
and b.identity = #{identity}
</select>
@@ -254,4 +255,20 @@
inner join dapp_member b on b.id = a.member_id
order by create_time desc
</select>
+
+ <select id="selectTotalMemberByRefererIdAndIdentity" resultType="cc.mrbird.febs.dapp.entity.DappMemberEntity">
+ select
+ b.id,
+ b.invite_id,
+ b.referer_id,
+ b.identity,
+ b.referer_ids
+ from
+ dapp_wallet_coin a
+ inner join dapp_member b on a.member_id = b.id
+ where
+ a.total_amount <![CDATA[ >= ]]> 51
+ and b.referer_id = #{inviteId}
+
+ </select>
</mapper>
\ No newline at end of file
diff --git a/src/test/java/cc/mrbird/febs/JunitTest.java b/src/test/java/cc/mrbird/febs/JunitTest.java
index ec6c347..119c646 100644
--- a/src/test/java/cc/mrbird/febs/JunitTest.java
+++ b/src/test/java/cc/mrbird/febs/JunitTest.java
@@ -318,7 +318,8 @@
// }
//
@Test
- public void testUpdateIgt(){Log.info("更新用户代理等级");
+ public void updateMemberLevel(){
+ Log.info("更新用户代理等级");
DateTime date = DateUtil.date();
//查询账户总金额大于51的有效用户
List<DappMemberEntity> dappMemberEntities = dappWalletCoinDao.selectTotalAmount();
@@ -327,13 +328,13 @@
dappMemberDao.updateIdentity();
}else{
List<DappMemberEntity> LEVEL_IB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_MB.getCode(), DataDictionaryEnum.LEVEL_IB.getCode());
- List<DappMemberEntity> LEVEL_FIB = getMemberLevelList(LEVEL_IB, DataDictionaryEnum.LEVEL_IB.getCode(), DataDictionaryEnum.LEVEL_FIB.getCode());
- List<DappMemberEntity> LEVEL_CIB = getMemberLevelList(LEVEL_FIB, DataDictionaryEnum.LEVEL_FIB.getCode(), DataDictionaryEnum.LEVEL_CIB.getCode());
- List<DappMemberEntity> LEVEL_AIB = getMemberLevelList(LEVEL_CIB, DataDictionaryEnum.LEVEL_CIB.getCode(), DataDictionaryEnum.LEVEL_AIB.getCode());
- List<DappMemberEntity> LEVEL_GIB = getMemberLevelList(LEVEL_AIB, DataDictionaryEnum.LEVEL_AIB.getCode(), DataDictionaryEnum.LEVEL_GIB.getCode());
- List<DappMemberEntity> LEVEL_BP = getMemberLevelList(LEVEL_GIB, DataDictionaryEnum.LEVEL_GIB.getCode(), DataDictionaryEnum.LEVEL_BP.getCode());
- List<DappMemberEntity> LEVEL_SP = getMemberLevelList(LEVEL_BP, DataDictionaryEnum.LEVEL_BP.getCode(), DataDictionaryEnum.LEVEL_SP.getCode());
- List<DappMemberEntity> LEVEL_GP = getMemberLevelList(LEVEL_SP, DataDictionaryEnum.LEVEL_SP.getCode(), DataDictionaryEnum.LEVEL_GP.getCode());
+ List<DappMemberEntity> LEVEL_FIB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_IB.getCode(), DataDictionaryEnum.LEVEL_FIB.getCode());
+ List<DappMemberEntity> LEVEL_CIB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_FIB.getCode(), DataDictionaryEnum.LEVEL_CIB.getCode());
+ List<DappMemberEntity> LEVEL_AIB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_CIB.getCode(), DataDictionaryEnum.LEVEL_AIB.getCode());
+ List<DappMemberEntity> LEVEL_GIB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_AIB.getCode(), DataDictionaryEnum.LEVEL_GIB.getCode());
+ List<DappMemberEntity> LEVEL_BP = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_GIB.getCode(), DataDictionaryEnum.LEVEL_BP.getCode());
+ List<DappMemberEntity> LEVEL_SP = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_BP.getCode(), DataDictionaryEnum.LEVEL_SP.getCode());
+ List<DappMemberEntity> LEVEL_GP = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_SP.getCode(), DataDictionaryEnum.LEVEL_GP.getCode());
}
}
@@ -341,17 +342,31 @@
List<DappMemberEntity> dappMemberEntitiesNext = new ArrayList<>();
if(CollUtil.isNotEmpty(dappMemberEntities)){
for(DappMemberEntity dappMemberEntity : dappMemberEntities){
+ if(ObjectUtil.isEmpty(dappMemberEntity)){
+ continue;
+ }
Long memberEntityId = dappMemberEntity.getId();
String refererId = dappMemberEntity.getRefererId();
String inviteId = dappMemberEntity.getInviteId();
- //下级是否存在三个账户总金额大于51的会员,并且代理等级为identity
- List<DappMemberEntity> levelMbMembers = dappMemberDao.selectTotalAmountByRefererIdAndIdentity(inviteId,identity);
- if(CollUtil.isNotEmpty(levelMbMembers) && 3 <= levelMbMembers.size()){
+ //是否存在三条以上的推广线路,存在才能升级,不满足则
+ List<DappMemberEntity> levelMbMembers = dappMemberDao.selectTotalMemberByRefererIdAndIdentity(inviteId);
+ if(3 > levelMbMembers.size()){
+ dappMemberEntity.setIdentity(DataDictionaryEnum.LEVEL_MB.getCode());
+ dappMemberDao.updateById(dappMemberEntity);
+ continue;
+ }
+ int identityDown = 0;
+ for(DappMemberEntity dappMemberDown : levelMbMembers){
+ //下级是否存在账户总金额大于51的会员,并且代理等级为identity
+ List<DappMemberEntity> levelMbMembersDown = dappMemberDao.selectTotalAmountByRefererIdAndIdentity(dappMemberDown.getInviteId(),identity);
+ if(CollUtil.isNotEmpty(levelMbMembersDown)){
+ identityDown = identityDown + 1;
+ }
+
+ }
+ if(identityDown >= 3){
//设置identityNext级别
dappMemberDao.updateIdentityByMemberId(identityNext,memberEntityId);
- //获取他的上级会员信息
- DappMemberEntity dappMemberEntityNext = dappMemberDao.selectMemberInfoByInviteId(refererId);
- dappMemberEntitiesNext.add(dappMemberEntityNext);
}
}
}
--
Gitblit v1.9.1