From a51f290518a41cf8993d8ee3f9b77e33e93b186b Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Sat, 03 Jun 2023 11:52:56 +0800
Subject: [PATCH] fix
---
src/test/java/cc/mrbird/febs/MemberTest.java | 73 ++++++++++++++++++++++++++++++++++++
src/test/java/cc/mrbird/febs/ProfitTest.java | 2
src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java | 4 +-
3 files changed, 76 insertions(+), 3 deletions(-)
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 8a3b2d9..49f1683 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
@@ -153,10 +153,10 @@
break;
}
- if (index != 2) {
+ if (index == 2) {
indirectPerDic = indirectPerTwoDic;
}
- BigDecimal doubleParentProfit = profit.multiply(new BigDecimal(indirectPerDic.getValue()).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP));
+ BigDecimal doubleParentProfit = amount.multiply(new BigDecimal(indirectPerDic.getValue()).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP));
changeScoreAndCommission(mallMember.getId(), doubleParentProfit, MoneyFlowTypeEnum.DIRECT_BONUS.getValue(), orderInfo.getOrderNo());
index++;
}
diff --git a/src/test/java/cc/mrbird/febs/MemberTest.java b/src/test/java/cc/mrbird/febs/MemberTest.java
new file mode 100644
index 0000000..10d9686
--- /dev/null
+++ b/src/test/java/cc/mrbird/febs/MemberTest.java
@@ -0,0 +1,73 @@
+package cc.mrbird.febs;
+
+import cc.mrbird.febs.mall.entity.MallMember;
+import cc.mrbird.febs.mall.mapper.MallMemberMapper;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2023-06-03
+ **/
+@Slf4j
+@SpringBootTest
+public class MemberTest {
+
+ @Autowired
+ private MallMemberMapper mallMemberMapper;
+
+ @Test
+ public void refererIds() {
+ MallMember member = mallMemberMapper.selectById(1L);
+
+ updateRefererIds(member);
+ }
+
+ private void updateRefererIds(MallMember member) {
+ List<MallMember> mallMembers = mallMemberMapper.selectByRefererId(member.getInviteId());
+ if (CollUtil.isEmpty(mallMembers)) {
+ return;
+ }
+
+ mallMembers.forEach(item -> {
+ MallMember updateMember = new MallMember();
+ updateMember.setId(item.getId());
+ String s = refererIds(item.getReferrerId());
+ updateMember.setReferrerIds(s);
+ mallMemberMapper.updateById(updateMember);
+
+ updateRefererIds(item);
+ });
+ }
+
+ private String refererIds(String parentId) {
+ boolean flag = false;
+ if (StrUtil.isBlank(parentId)) {
+ flag = true;
+ }
+ String ids = "";
+ while (!flag) {
+ if (StrUtil.isBlank(ids)) {
+ ids += parentId;
+ } else {
+ ids += ("," + parentId);
+ }
+ MallMember parentMember = this.mallMemberMapper.selectInfoByInviteId(parentId);
+ if (parentMember == null) {
+ break;
+ }
+ parentId = parentMember.getReferrerId();
+ if (StrUtil.isBlank(parentMember.getReferrerId())) {
+ flag = true;
+ }
+ }
+
+ return ids;
+ }
+}
diff --git a/src/test/java/cc/mrbird/febs/ProfitTest.java b/src/test/java/cc/mrbird/febs/ProfitTest.java
index ae22d4e..396f75c 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(49L);
+ memberProfitService.directProfit(56L);
}
//
// @Autowired
--
Gitblit v1.9.1