| src/main/java/cc/mrbird/febs/dapp/enumerate/MemberLevelEnum.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
| src/test/java/cc/mrbird/febs/JunitTest.java | ●●●●● patch | view | raw | blame | history |
src/main/java/cc/mrbird/febs/dapp/enumerate/MemberLevelEnum.java
New file @@ -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; } } 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); /** * 平台分成,返回剩余盈利 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)); 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)){ 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();