From fda57b880c57c2a7e9d26d7912eed310e028042d Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Sat, 03 Jun 2023 03:25:42 +0800
Subject: [PATCH] fix
---
src/test/java/cc/mrbird/febs/ProfitTest.java | 2
src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java | 7 ++-
src/main/resources/application-dev.yml | 6 ++
src/main/resources/templates/febs/views/modules/mallMember/moneyFlow.html | 18 ++++----
src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java | 2 +
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 31 +++++++++++++++
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html | 1
7 files changed, 53 insertions(+), 14 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
index db8c637..af4a498 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
@@ -112,4 +112,6 @@
IPage<MallMoneyFlow> achieveReleaseChild(QueryRequest request, MallScoreAchieveRelease mallScoreAchieveRelease);
FebsResponse insideWithType(Long id, int i);
+
+ List<MallMember> findParentMemberList(List<String> inviteIds, Integer level, boolean containsParent);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
index bc7cdd2..8ed5bf9 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -36,6 +36,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -771,4 +772,34 @@
return ids;
}
+
+ @Override
+ public List<MallMember> findParentMemberList(List<String> inviteIds, Integer level, boolean containsParent) {
+ List<MallMember> mallMembers = this.baseMapper.selectByInviteIds(inviteIds);
+ if(CollUtil.isEmpty(mallMembers)) {
+ return mallMembers;
+ }
+
+
+ List<MallMember> result = new ArrayList<>();
+ int index = containsParent ? 0 : 1;
+ int count = 0;
+ while(true) {
+ if (level != null && count == level) {
+ break;
+ }
+
+ if (index >= mallMembers.size()) {
+ break;
+ }
+
+ String inviteId = inviteIds.get(index);
+ List<MallMember> collect = mallMembers.stream().filter(item -> item.getInviteId().equals(inviteId)).collect(Collectors.toList());
+ result.add(collect.get(0));
+
+ index++;
+ count++;
+ }
+ return result;
+ }
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
index 91124c0..8a3b2d9 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
@@ -38,6 +38,7 @@
private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
private final MallSystemSettingMapper mallSystemSettingMapper;
+ private final IAdminMallMemberService adminMallMemberService;
/**
* 直推收益
@@ -141,7 +142,7 @@
continue;
}
- List<MallMember> mallMembers = mallMemberMapper.selectParentMemberList(StrUtil.split(parentMember.getReferrerIds(), ','), parentMember.getReferrerId(), 2);
+ List<MallMember> mallMembers = adminMallMemberService.findParentMemberList(StrUtil.split(parentMember.getReferrerIds(), ','), 2, true);
if (CollUtil.isEmpty(mallMembers)) {
continue;
}
@@ -155,7 +156,7 @@
if (index != 2) {
indirectPerDic = indirectPerTwoDic;
}
- BigDecimal doubleParentProfit = profit.multiply(new BigDecimal(indirectPerDic.getValue()));
+ BigDecimal doubleParentProfit = profit.multiply(new BigDecimal(indirectPerDic.getValue()).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP));
changeScoreAndCommission(mallMember.getId(), doubleParentProfit, MoneyFlowTypeEnum.DIRECT_BONUS.getValue(), orderInfo.getOrderNo());
index++;
}
@@ -168,7 +169,7 @@
}
List<String> parents = StrUtil.split(parentMember.getReferrerIds(), ',');
- List<MallMember> members = mallMemberMapper.selectByInviteIds(parents);
+ List<MallMember> members = adminMallMemberService.findParentMemberList(parents, null, true);
if (CollUtil.isEmpty(members)) {
return;
}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index a527c2f..75b24f3 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -18,7 +18,11 @@
username: ct_test
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://120.27.238.55:3406/db_meiye_mall?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&allowMultiQueries=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8
+ url: jdbc:mysql://120.27.238.55:3406/db_meiye_prd?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&allowMultiQueries=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8
+# username: db_meiye
+# password: meiye#@!321
+# driver-class-name: com.mysql.cj.jdbc.Driver
+# url: jdbc:mysql://47.111.90.145:3306/db_meiye?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&rewriteBatchedStatements=true&allowMultiQueries=true&serverTimezone=GMT%2b8
redis:
# Redis数据库索引(默认为 0)
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
index a0f8d18..058c38a 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -231,6 +231,7 @@
{field: 'name', title: '名称', minWidth: 100,align:'left', totalRowText: '合计:'},
{field: 'inviteId', title: '邀请码', minWidth: 100,align:'left'},
{field: 'balance', title: '余额', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.balance) }}'},
+ {field: 'score', title: '赠送积分', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.score) }}'},
{field: 'prizeScore', title: '现金积分', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.prizeScore) }}'},
{field: 'childNodeCnt', title: '粉丝数量', minWidth: 100,align:'left'},
{field: 'referrerName', title: '推荐人', minWidth: 100,align:'left'},
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/moneyFlow.html b/src/main/resources/templates/febs/views/modules/mallMember/moneyFlow.html
index 1e9fea5..0fdea4d 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/moneyFlow.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/moneyFlow.html
@@ -47,19 +47,19 @@
{field: 'type', title: '流水类型',
templet: function (d) {
if (d.type === 1) {
- return '<span>静态收益</span>'
- } else if (d.type === 2) {
return '<span>直推奖</span>'
+ } else if (d.type === 2) {
+ return '<span>隔代收益</span>'
} else if (d.type === 3) {
- return '<span>代理收益</span>'
+ return '<span>全网分红</span>'
} else if (d.type === 4) {
- return '<span>排名收益</span>'
+ return '<span>代理分红</span>'
}else if (d.type === 5) {
- return '<span>总监收益</span>'
+ return '<span>股东分红</span>'
}else if (d.type === 6) {
- return '<span>社区店补</span>'
+ return '<span>积分兑换</span>'
}else if (d.type === 7) {
- return '<span>一代收益</span>'
+ return '<span>推荐奖</span>'
}else if (d.type === 8) {
return '<span>提现</span>'
}else if (d.type === 9) {
@@ -114,10 +114,10 @@
templet: function (d) {
if (d.flowType === 1) {
return '余额';
+ } else if(d.flowType === 2) {
+ return '赠送积分'
} else if(d.flowType === 3) {
return '现金积分'
- } else if(d.flowType === 5) {
- return '贡献点'
} else {
return '-';
}
diff --git a/src/test/java/cc/mrbird/febs/ProfitTest.java b/src/test/java/cc/mrbird/febs/ProfitTest.java
index 04267a9..ae22d4e 100644
--- a/src/test/java/cc/mrbird/febs/ProfitTest.java
+++ b/src/test/java/cc/mrbird/febs/ProfitTest.java
@@ -46,7 +46,7 @@
@Test
public void profitTest() {
- memberProfitService.directProfit(10L);
+ memberProfitService.directProfit(49L);
}
//
// @Autowired
--
Gitblit v1.9.1