From 8bf923b44bbe9b45b73ddcc25df75c9c59f54e07 Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Thu, 15 Jun 2023 11:19:44 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 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..f09832b 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
@@ -116,7 +116,12 @@
             } else {
 
                 // 判断上级是否与自己购买的套餐符合,若符合则走3级直推逻辑,若不符合则另外一个
-                if (parentMember.getAccountLevel() >= item.getGoodsLevel()) {
+
+                // 非代理推代理/非股东推股东
+                if (parentMember.getAccountLevel() == 1 && item.getGoodsLevel() != 1) {
+                    profitPer = new BigDecimal(unAgentDirectDic.getValue());
+                    isSameLevel = 2;
+                } else {
                     for (DataDictionaryCustom dataDic : dataDices) {
                         JSONObject jsonObject = JSONObject.parseObject(dataDic.getValue());
                         if (directCnt >= jsonObject.getInteger("pushCnt")) {
@@ -124,10 +129,6 @@
                         }
                     }
                     isSameLevel = 1;
-                    // 非代理推代理/非股东推股东
-                } else {
-                    profitPer = new BigDecimal(unAgentDirectDic.getValue());
-                    isSameLevel = 2;
                 }
             }
 
@@ -149,14 +150,14 @@
 
                 int index = 1;
                 for (MallMember mallMember : mallMembers) {
-                    if (!item.getGoodsLevel().equals(mallMember.getAccountLevel())) {
-                        break;
+                    if (mallMember.getAccountLevel() == 1) {
+                        continue;
                     }
 
-                    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++;
                 }
@@ -464,7 +465,9 @@
             totalBonus = totalBonus.add(levelBonus);
         }
 
-        changeSystemBonus(totalBonus, null, null);
+        changeSystemBonus(totalBonus.negate(), null, null);
+
+        bonusRecord(totalBonus, 1, null, null);
         log.info("###全网分红执行--end--###");
     }
 

--
Gitblit v1.9.1