From 6ecb1b986263a544fd341830f388fd6263bf4349 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 23 Nov 2022 13:07:43 +0800
Subject: [PATCH] 20221117
---
src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java | 3
src/main/java/cc/mrbird/febs/dapp/enumerate/MemberLevelEnum.java | 54 ++++++++++++++++++
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 13 +++-
src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java | 39 +++++++++++--
src/test/java/cc/mrbird/febs/JunitTest.java | 22 +++++++
5 files changed, 121 insertions(+), 10 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/dapp/enumerate/MemberLevelEnum.java b/src/main/java/cc/mrbird/febs/dapp/enumerate/MemberLevelEnum.java
new file mode 100644
index 0000000..a04fb6e
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/enumerate/MemberLevelEnum.java
@@ -0,0 +1,54 @@
+package cc.mrbird.febs.dapp.enumerate;
+
+import lombok.Getter;
+
+@Getter
+public enum MemberLevelEnum {
+ LEVEL_GP("LEVEL_GP",9),
+ LEVEL_SP("LEVEL_SP",8),
+ LEVEL_BP("LEVEL_BP",7),
+ LEVEL_GIB("LEVEL_GIB",6),
+ LEVEL_AIB("LEVEL_AIB",5),
+ LEVEL_CIB("LEVEL_CIB",4),
+ LEVEL_FIB("LEVEL_FIB",3),
+ LEVEL_IB("LEVEL_IB",2),
+ LEVEL_MB("LEVEL_MB",1);
+
+
+ private String type;
+
+ private Integer code;
+
+ MemberLevelEnum(String type, Integer code) {
+ this.type = type;
+ this.code = code;
+ }
+
+ public int getLevelCode(String Level){
+ int codeOne = 0;
+ for (MemberLevelEnum value : MemberLevelEnum.values()) {
+ if(value.type.equals(Level)){
+ codeOne = value.code;
+ }
+ }
+ return codeOne;
+ }
+
+ //比较两个级别的大小,levelOne大于levelTwo返回1,否则返回0
+ public int compareLevel(String levelOne ,String levelTwo) {
+ int codeOne = 0;
+ int codeTwo = 0;
+ for (MemberLevelEnum value : MemberLevelEnum.values()) {
+ if(value.type.equals(levelOne)){
+ codeOne = value.code;
+ }
+ if(value.type.equals(levelTwo)){
+ codeTwo = value.code;
+ }
+ }
+ if(codeOne > codeTwo){
+ return 1;
+ }
+ return 0;
+ }
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java b/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
index e1af962..3e86d3c 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
@@ -66,7 +66,8 @@
* 生成流水佣金和盈利分成和流水记录,返回剩余盈利
* @param refererIds
*/
- BigDecimal updateLSYJYLFC(List<String> refererIds, BigDecimal totalProfit,long id);
+ BigDecimal updateLSYJ(List<String> refererIds, BigDecimal totalProfit,long id);
+ BigDecimal updateYLFC(List<String> refererIds, BigDecimal totalProfit,long id);
/**
* 平台分成,返回剩余盈利
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
index b2e4574..cbf66ad 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
@@ -9,6 +9,7 @@
import cc.mrbird.febs.dapp.dto.ApiStartDto;
import cc.mrbird.febs.dapp.entity.*;
import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum;
+import cc.mrbird.febs.dapp.enumerate.MemberLevelEnum;
import cc.mrbird.febs.dapp.enumerate.MemberOnHookPlanEnum;
import cc.mrbird.febs.dapp.mapper.*;
import cc.mrbird.febs.dapp.service.ApiIgtOnHookPlanService;
@@ -191,13 +192,25 @@
// }
// }
// }
+
+ //根据上下级,筛选用户的级别
+ ArrayList<String> refererIdLisstUp = new ArrayList<>();
+ String levelNext = MemberLevelEnum.LEVEL_MB.getType();
+ for(String inviteId : refererIdList){
+ DappMemberEntity dappMemberUp = dappMemberDao.selectMemberInfoByInviteId(inviteId);
+ String identityUp = dappMemberUp.getIdentity();
+ int compareLevelResult = MemberLevelEnum.LEVEL_MB.compareLevel(identityUp, levelNext);
+ if(0 < compareLevelResult){
+ levelNext = identityUp;
+ refererIdLisstUp.add(inviteId);
+ }
+ }
//生成流水佣金和盈利分成和流水记录,返回剩余盈利
- BigDecimal profitSharingTotal = dappWalletService.updateLSYJYLFC(refererIdList, totalProfit.multiply(new BigDecimal(0.4)),igtOnHookPlanOrder.getId());
- //生成流水佣金和盈利分成和流水记录,返回盈利分成和流水佣金总共分成
-// BigDecimal profitSharingTotal = dappWalletService.updateLSYJYLFC(refererIdList, totalProfit,igtOnHookPlanOrder.getId());
+ BigDecimal profitSharingTotal = dappWalletService.updateLSYJ(refererIdLisstUp, totalProfit.multiply(new BigDecimal(0.2)),igtOnHookPlanOrder.getId());
+ BigDecimal profitFlowTotal = dappWalletService.updateYLFC(refererIdLisstUp, totalProfit.multiply(new BigDecimal(0.2)),igtOnHookPlanOrder.getId());
//平台分成
//平台拿走35%盈利分成和流水佣金剩下的全部
- BigDecimal systemAdd = totalProfit.multiply(new BigDecimal(0.4)).subtract(profitSharingTotal);
+ BigDecimal systemAdd = totalProfit.multiply(new BigDecimal(0.4)).subtract(profitSharingTotal).subtract(profitFlowTotal);
BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,systemAdd,igtOnHookPlanOrder.getId());
//个人固定拿走60%
totalProfit = totalProfit.multiply(new BigDecimal(0.6));
@@ -573,11 +586,25 @@
// }
// }
// }
+
+ //根据上下级,筛选用户的级别
+ ArrayList<String> refererIdLisstUp = new ArrayList<>();
+ String levelNext = MemberLevelEnum.LEVEL_MB.getType();
+ for(String inviteId : refererIdList){
+ DappMemberEntity dappMemberUp = dappMemberDao.selectMemberInfoByInviteId(inviteId);
+ String identityUp = dappMemberUp.getIdentity();
+ int compareLevelResult = MemberLevelEnum.LEVEL_MB.compareLevel(identityUp, levelNext);
+ if(0 < compareLevelResult){
+ levelNext = identityUp;
+ refererIdLisstUp.add(inviteId);
+ }
+ }
//生成流水佣金和盈利分成和流水记录,返回剩余盈利
- BigDecimal profitSharingTotal = dappWalletService.updateLSYJYLFC(refererIdList, totalProfit.multiply(new BigDecimal(0.4)),igtOnHookPlanOrder.getId());
+ BigDecimal profitSharingTotal = dappWalletService.updateLSYJ(refererIdLisstUp, totalProfit.multiply(new BigDecimal(0.2)),igtOnHookPlanOrder.getId());
+ BigDecimal profitFlowTotal = dappWalletService.updateYLFC(refererIdLisstUp, totalProfit.multiply(new BigDecimal(0.2)),igtOnHookPlanOrder.getId());
//平台分成
//平台拿走35%盈利分成和流水佣金剩下的全部
- BigDecimal systemAdd = totalProfit.multiply(new BigDecimal(0.4)).subtract(profitSharingTotal);
+ BigDecimal systemAdd = totalProfit.multiply(new BigDecimal(0.4)).subtract(profitSharingTotal).subtract(profitFlowTotal);
BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,systemAdd,igtOnHookPlanOrder.getId());
//个人固定拿走60%
totalProfit = totalProfit.multiply(new BigDecimal(0.6));
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
index 6cb1639..7cdb187 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -975,7 +975,7 @@
return new FebsResponse().success().message(MessageSourceUtils.getString("Operation_001"));
}
@Override
- public BigDecimal updateLSYJYLFC(List<String> refererIdList,BigDecimal totalProfit,long id) {
+ public BigDecimal updateLSYJ(List<String> refererIdList,BigDecimal totalProfit,long id) {
//计算盈利分成
BigDecimal profitSharingTotal = BigDecimal.ZERO;
if(BigDecimal.ZERO.compareTo(totalProfit)>=0){
@@ -1187,10 +1187,17 @@
profitSharingTotal = profitSharingTotal.add(multiply);
}
}
-
-
}
+ return profitSharingTotal;
+ }
+
+ @Override
+ public BigDecimal updateYLFC(List<String> refererIdList, BigDecimal totalProfit, long id) {
//计算流水佣金
+ BigDecimal profitSharingTotal = BigDecimal.ZERO;
+ if(BigDecimal.ZERO.compareTo(totalProfit)>=0){
+ return profitSharingTotal;
+ }
if(CollUtil.isNotEmpty(refererIdList)){
String LEVEL_AIB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_AIB.getCode());
if(!DataDictionaryEnum.LEVEL_AIB.getCode().equals(LEVEL_AIB)){
diff --git a/src/test/java/cc/mrbird/febs/JunitTest.java b/src/test/java/cc/mrbird/febs/JunitTest.java
index 7e0386b..ffcf458 100644
--- a/src/test/java/cc/mrbird/febs/JunitTest.java
+++ b/src/test/java/cc/mrbird/febs/JunitTest.java
@@ -9,6 +9,7 @@
import cc.mrbird.febs.common.utils.ShareCodeUtil;
import cc.mrbird.febs.dapp.entity.*;
import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum;
+import cc.mrbird.febs.dapp.enumerate.MemberLevelEnum;
import cc.mrbird.febs.dapp.enumerate.MemberOnHookPlanEnum;
import cc.mrbird.febs.dapp.mapper.*;
import cc.mrbird.febs.dapp.service.ApiIgtOnHookPlanService;
@@ -55,6 +56,27 @@
@Autowired
private DappMemberDao dappMemberDao;
+ @Test
+ public void referenceId(){
+ DappMemberEntity dappMemberEntity = dappMemberDao.selectById(1129L);
+ String refererIds = dappMemberEntity.getRefererIds();
+ List<String> refererIdList = StrUtil.split(refererIds, ",", -1, true, true);
+
+ //根据上下级,筛选用户的级别
+ ArrayList<String> refererIdLisstUp = new ArrayList<>();
+ String levelNext = MemberLevelEnum.LEVEL_MB.getType();
+ for(String inviteId : refererIdList){
+ DappMemberEntity dappMemberUp = dappMemberDao.selectMemberInfoByInviteId(inviteId);
+ String identityUp = dappMemberUp.getIdentity();
+ int compareLevelResult = MemberLevelEnum.LEVEL_MB.compareLevel(identityUp, levelNext);
+ if(0 < compareLevelResult){
+ levelNext = identityUp;
+ refererIdLisstUp.add(inviteId);
+ }
+ }
+ System.out.println(refererIdLisstUp);
+ }
+
// @Test
// public void incomeTest() {
// mineProfitJob.start();
--
Gitblit v1.9.1