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