From 92e66aaa7c3643e2497dfef0d031a9eb8e76e184 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 21 Aug 2023 15:41:48 +0800
Subject: [PATCH] 后台修改
---
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 135 +++++++++++++++++++++++++++++++++-----------
1 files changed, 100 insertions(+), 35 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 95c388a..920b1be 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
@@ -2835,7 +2835,9 @@
* 获取用户前一天的所有返利记录
*/
List<DappFundFlowEntity> dappFundFlowEntities = dappFundFlowDao.selectListByMemberIdAndTypeAndDate(directMemberId,
- FundFlowEnum.STATIC_RELEASE.getCode(),DateUtil.offsetHour(DateUtil.date(),-12));
+ FundFlowEnum.STATIC_RELEASE.getCode(),DateUtil.date());
+// List<DappFundFlowEntity> dappFundFlowEntities = dappFundFlowDao.selectListByMemberIdAndTypeAndDate(directMemberId,
+// FundFlowEnum.STATIC_RELEASE.getCode(),DateUtil.offsetHour(DateUtil.date(),-12));
if(CollUtil.isEmpty(dappFundFlowEntities)){
continue;
}
@@ -2893,37 +2895,37 @@
List<DappMemberEntity> dappMemberEntities = dappMemberDao.selectMemberByAccountType(MemberLevelEnum.V1.getType());
shareStaticPerk(dappMemberEntities,FundFlowEnum.SHARE_PERK_V1.getCode());
- teamStaticPerkMemberLevel(dappMemberEntities,teamPerkEquals,staticRelease,FundFlowEnum.TEAM_PERK_V1.getCode());
+ teamStaticPerkMemberLevel(dappMemberEntities,teamPerkEquals,staticRelease,FundFlowEnum.TEAM_PERK_V1.getCode(),MemberLevelEnum.V1.getType());
isAllPerkMemberLevel(dappMemberEntities,MemberLevelEnum.V1.getType(),FundFlowEnum.ALL_PERK_V1.getCode());
List<DappMemberEntity> v2DappMemberEntities = dappMemberDao.selectMemberByAccountType(MemberLevelEnum.V2.getType());
shareStaticPerk(v2DappMemberEntities,FundFlowEnum.SHARE_PERK_V2.getCode());
- teamStaticPerkMemberLevel(v2DappMemberEntities,teamPerkEquals,staticRelease,FundFlowEnum.TEAM_PERK_V2.getCode());
+ teamStaticPerkMemberLevel(v2DappMemberEntities,teamPerkEquals,staticRelease,FundFlowEnum.TEAM_PERK_V2.getCode(),MemberLevelEnum.V2.getType());
isAllPerkMemberLevel(v2DappMemberEntities,MemberLevelEnum.V2.getType(),FundFlowEnum.ALL_PERK_V2.getCode());
List<DappMemberEntity> v3DappMemberEntities = dappMemberDao.selectMemberByAccountType(MemberLevelEnum.V3.getType());
shareStaticPerk(v3DappMemberEntities,FundFlowEnum.SHARE_PERK_V3.getCode());
- teamStaticPerkMemberLevel(v3DappMemberEntities,teamPerkEquals,staticRelease,FundFlowEnum.TEAM_PERK_V3.getCode());
+ teamStaticPerkMemberLevel(v3DappMemberEntities,teamPerkEquals,staticRelease,FundFlowEnum.TEAM_PERK_V3.getCode(),MemberLevelEnum.V3.getType());
isAllPerkMemberLevel(v3DappMemberEntities,MemberLevelEnum.V3.getType(),FundFlowEnum.ALL_PERK_V3.getCode());
List<DappMemberEntity> v4DappMemberEntities = dappMemberDao.selectMemberByAccountType(MemberLevelEnum.V4.getType());
shareStaticPerk(v4DappMemberEntities,FundFlowEnum.SHARE_PERK_V4.getCode());
- teamStaticPerkMemberLevel(v4DappMemberEntities,teamPerkEquals,staticRelease,FundFlowEnum.TEAM_PERK_V4.getCode());
+ teamStaticPerkMemberLevel(v4DappMemberEntities,teamPerkEquals,staticRelease,FundFlowEnum.TEAM_PERK_V4.getCode(),MemberLevelEnum.V4.getType());
isAllPerkMemberLevel(v4DappMemberEntities,MemberLevelEnum.V4.getType(),FundFlowEnum.ALL_PERK_V4.getCode());
List<DappMemberEntity> v5DappMemberEntities = dappMemberDao.selectMemberByAccountType(MemberLevelEnum.V5.getType());
shareStaticPerk(v5DappMemberEntities,FundFlowEnum.SHARE_PERK_V5.getCode());
- teamStaticPerkMemberLevel(v5DappMemberEntities,teamPerkEquals,staticRelease,FundFlowEnum.TEAM_PERK_V5.getCode());
+ teamStaticPerkMemberLevel(v5DappMemberEntities,teamPerkEquals,staticRelease,FundFlowEnum.TEAM_PERK_V5.getCode(),MemberLevelEnum.V5.getType());
isAllPerkMemberLevel(v5DappMemberEntities,MemberLevelEnum.V5.getType(),FundFlowEnum.ALL_PERK_V5.getCode());
List<DappMemberEntity> v6DappMemberEntities = dappMemberDao.selectMemberByAccountType(MemberLevelEnum.V6.getType());
shareStaticPerk(v6DappMemberEntities,FundFlowEnum.SHARE_PERK_V6.getCode());
- teamStaticPerkMemberLevel(v6DappMemberEntities,teamPerkEquals,staticRelease,FundFlowEnum.TEAM_PERK_V6.getCode());
+ teamStaticPerkMemberLevel(v6DappMemberEntities,teamPerkEquals,staticRelease,FundFlowEnum.TEAM_PERK_V6.getCode(),MemberLevelEnum.V6.getType());
isAllPerkMemberLevel(v6DappMemberEntities,MemberLevelEnum.V6.getType(),FundFlowEnum.ALL_PERK_V6.getCode());
List<DappMemberEntity> v7DappMemberEntities = dappMemberDao.selectMemberByAccountType(MemberLevelEnum.V7.getType());
shareStaticPerk(v7DappMemberEntities,FundFlowEnum.SHARE_PERK_V7.getCode());
- teamStaticPerkMemberLevel(v7DappMemberEntities,teamPerkEquals,staticRelease,FundFlowEnum.TEAM_PERK_V7.getCode());
+ teamStaticPerkMemberLevel(v7DappMemberEntities,teamPerkEquals,staticRelease,FundFlowEnum.TEAM_PERK_V7.getCode(),MemberLevelEnum.V7.getType());
isAllPerkMemberLevel(v7DappMemberEntities,MemberLevelEnum.V7.getType(),FundFlowEnum.ALL_PERK_V7.getCode());
}
@@ -3207,12 +3209,15 @@
DataDictionaryEnum.PACKAGE_TEAM_PERK_PERCENT.getType(),
DataDictionaryEnum.PACKAGE_TEAM_PERK_PERCENT.getCode()
);
- BigDecimal packageTeamPerkPercent = new BigDecimal(ObjectUtil.isEmpty(packageTeamPerkPercentDic) ? "0.01" : packageTeamPerkPercentDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN);
+ BigDecimal packageTeamPerkPercent = new BigDecimal(ObjectUtil.isEmpty(packageTeamPerkPercentDic) ? "0.01" : packageTeamPerkPercentDic.getValue());
for(DappMemberEntity dappMemberEntity : dappMemberEntities){
+// List<DappFundFlowEntity> dappFundFlowEntities = dappFundFlowDao.selectListByMemberIdAndTypeAndDate(dappMemberEntity.getId()
+// , FundFlowEnum.ADD_AMOUNT_REAL.getCode()
+// , DateUtil.offsetHour(DateUtil.date(), -12));
List<DappFundFlowEntity> dappFundFlowEntities = dappFundFlowDao.selectListByMemberIdAndTypeAndDate(dappMemberEntity.getId()
, FundFlowEnum.ADD_AMOUNT_REAL.getCode()
- , DateUtil.offsetHour(DateUtil.date(), -12));
+ , DateUtil.date());
//总收益
BigDecimal totalPerk = dappFundFlowEntities.stream().map(DappFundFlowEntity::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
BigDecimal memberPerk = totalPerk.multiply(packageTeamPerkPercent);
@@ -3268,11 +3273,15 @@
/**
* 每个人的第一次入单之后的业绩不一样
*/
- Date createTime = dappMemberEntity.getCreateTime();
+ List<MallAchieveRecord> mallAchieveRecords = mallAchieveRecordMapper.selectListByMemberId(dappMemberEntity.getId());
+ if(CollUtil.isEmpty(mallAchieveRecords)){
+ continue;
+ }
+ Date payTime = mallAchieveRecords.get(0).getPayTime();
//下第一单之后的共享区全部业绩
- BigDecimal totalAchieve = mallAchieveRecordMapper.selectAchieveTotalByCreateTime(createTime);
+ BigDecimal totalAchieve = mallAchieveRecordMapper.selectAchieveTotalByCreateTime(payTime);
//个人总业绩
- BigDecimal totalMemberAchieve = mallAchieveRecordMapper.selectAchieveTotalByMemberIdAndCreateTime(dappMemberEntity.getId(), createTime);
+ BigDecimal totalMemberAchieve = mallAchieveRecordMapper.selectAchieveTotalByMemberIdAndCreateTime(dappMemberEntity.getId(), payTime);
if(BigDecimal.ZERO.compareTo(totalAchieve) >= 0 || BigDecimal.ZERO.compareTo(totalMemberAchieve) >= 0){
continue;
}
@@ -3344,7 +3353,8 @@
public void teamStaticPerkMemberLevel(List<DappMemberEntity> dappMemberEntities,
BigDecimal teamPerkEquals,
BigDecimal staticRelease,
- int code) {
+ int code,
+ String memberAccountType) {
if(CollUtil.isEmpty(dappMemberEntities)){
return;
}
@@ -3360,29 +3370,84 @@
BigDecimal cashPercent = adminAgentInfo.getTeamPercent();
// 直推用户
List<DappMemberEntity> childs = dappMemberDao.selectMemberInfoByRefererId(teamPerkMember.getInviteId());
- List<DappMemberEntity> collect = childs.stream()
- .filter(dappMemberEntity -> dappMemberEntity.getAccountType() == MemberLevelEnum.V1.getType())
- .collect(Collectors.toList());
- //极差
- if(CollUtil.isNotEmpty(collect)){
- //平级
- cashPercent = teamPerkEquals;
- }
+// List<DappMemberEntity> collect = childs.stream()
+// .filter(dappMemberEntity -> dappMemberEntity.getAccountType().equals(memberAccountType))
+// .collect(Collectors.toList());
//所有直推团队,就是这个会员的所有区域的业绩。
- List<String> childsInviteIds = childs.stream().map(DappMemberEntity::getInviteId).collect(Collectors.toList());
- //总业绩
- BigDecimal teamIncomeMax = BigDecimal.ZERO;
- for(String inviteId : childsInviteIds){
- BigDecimal totalIncomeMember = dappMemberDao.selectAllAchieveByInviteId(inviteId);
- teamIncomeMax = teamIncomeMax.add(totalIncomeMember);
- }
- if(BigDecimal.ZERO.compareTo(teamIncomeMax) >= 0){
- continue;
- }
- //V1加速团队静态收益的15%=每日静态的20000*6‰*15%=18元的额外释放加速
- BigDecimal cashAmount = teamIncomeMax.multiply(cashPercent).multiply(staticRelease).setScale(2, BigDecimal.ROUND_DOWN);
+// List<String> childsInviteIds = childs.stream().map(DappMemberEntity::getInviteId).collect(Collectors.toList());
+ if(CollUtil.isNotEmpty(childs)){
+ for(DappMemberEntity dappMemberChild : childs){
+ String childAccountType = dappMemberChild.getAccountType();
+ int compareLevel = MemberLevelEnum.V1.compareLevel(level, childAccountType);
+ //级别比我高,则没有团队加速
+ if(compareLevel < 1){
+ continue;
+ }
+ if(compareLevel == 1){
+ BigDecimal cashPercentChild = BigDecimal.ZERO;
+ if(!MemberLevelEnum.MEMBER.getType().equals(childAccountType)){
+ DataDictionaryCustom teamPerkMemberChildDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ "TEAM_LEVEL", childAccountType);
+ TeamLevelPerk adminAgentInfoChild = JSONObject.parseObject(teamPerkMemberChildDic.getValue(), TeamLevelPerk.class);
+ cashPercentChild = adminAgentInfoChild.getTeamPercent();
+ }
+ BigDecimal subtract = cashPercent.subtract(cashPercentChild);
+ BigDecimal totalIncomeMember = dappMemberDao.selectAllAchieveByInviteId(dappMemberChild.getInviteId());
+ //V1加速团队静态收益的15%=每日静态的20000*6‰*15%=18元的额外释放加速
+ BigDecimal cashAmount = totalIncomeMember.multiply(staticRelease).multiply(subtract).setScale(2, BigDecimal.ROUND_DOWN);
+ if(BigDecimal.ZERO.compareTo(cashAmount) >= 0){
+ continue;
+ }
+ BigDecimal bigDecimal = sendPerk(teamPerkMember, cashAmount, teamPerkMember.getId(), code);
+ continue;
+ }
+ if(compareLevel > 1){
+ BigDecimal totalIncomeMember = dappMemberDao.selectAllAchieveByInviteId(dappMemberChild.getInviteId());
+ //V1加速团队静态收益的15%=每日静态的20000*6‰*15%=18元的额外释放加速
+ BigDecimal cashAmount = totalIncomeMember.multiply(staticRelease).multiply(teamPerkEquals).setScale(2, BigDecimal.ROUND_DOWN);
+ if(BigDecimal.ZERO.compareTo(cashAmount) >= 0){
+ continue;
+ }
+ BigDecimal bigDecimal = sendPerk(teamPerkMember, cashAmount, teamPerkMember.getId(), code);
+ continue;
- BigDecimal bigDecimal = sendPerk(teamPerkMember, cashAmount, teamPerkMember.getId(), code);
+ }
+ }
+ }
+// //总业绩
+// BigDecimal teamIncomeMax = BigDecimal.ZERO;
+// for(String inviteId : childsInviteIds){
+// //极差
+// if(CollUtil.isNotEmpty(collect)){
+// List<String> collectInviteIds = collect.stream().map(DappMemberEntity::getInviteId).collect(Collectors.toList());
+// if(collectInviteIds.contains(inviteId)){
+// BigDecimal totalIncomeMember = dappMemberDao.selectAllAchieveByInviteId(inviteId);
+// //V1加速团队静态收益的15%=每日静态的20000*6‰*15%=18元的额外释放加速
+// BigDecimal cashAmount = totalIncomeMember.multiply(teamPerkEquals).multiply(staticRelease).setScale(2, BigDecimal.ROUND_DOWN);
+// if(BigDecimal.ZERO.compareTo(cashAmount) >= 0){
+// continue;
+// }
+// BigDecimal bigDecimal = sendPerk(teamPerkMember, cashAmount, teamPerkMember.getId(), code);
+// continue;
+// }else{
+// BigDecimal totalIncomeMember = dappMemberDao.selectAllAchieveByInviteId(inviteId);
+// //V1加速团队静态收益的15%=每日静态的20000*6‰*15%=18元的额外释放加速
+// BigDecimal cashAmount = totalIncomeMember.multiply(cashPercent).multiply(staticRelease).setScale(2, BigDecimal.ROUND_DOWN);
+// if(BigDecimal.ZERO.compareTo(cashAmount) >= 0){
+// continue;
+// }
+// BigDecimal bigDecimal = sendPerk(teamPerkMember, cashAmount, teamPerkMember.getId(), code);
+// continue;
+// }
+// }
+// BigDecimal totalIncomeMember = dappMemberDao.selectAllAchieveByInviteId(inviteId);
+// //V1加速团队静态收益的15%=每日静态的20000*6‰*15%=18元的额外释放加速
+// BigDecimal cashAmount = totalIncomeMember.multiply(cashPercent).multiply(staticRelease).setScale(2, BigDecimal.ROUND_DOWN);
+// if(BigDecimal.ZERO.compareTo(cashAmount) >= 0){
+// continue;
+// }
+// BigDecimal bigDecimal = sendPerk(teamPerkMember, cashAmount, teamPerkMember.getId(), code);
+// }
}
}
--
Gitblit v1.9.1