From 3586418b13d20b4d2934bbb6777b5245eaec143a Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Tue, 25 Apr 2023 01:52:18 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java | 30 ++++++++++++------------------
1 files changed, 12 insertions(+), 18 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 81dc8e9..55bb1e4 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
@@ -57,8 +57,6 @@
log.info("积分订单无返利");
return;
}
- BigDecimal indirectPer = BigDecimal.valueOf(0.25);
- BigDecimal indirectPer2 = BigDecimal.valueOf(0.15);
MallMember member = mallMemberMapper.selectById(orderInfo.getMemberId());
@@ -73,6 +71,12 @@
return;
}
+ // 非代理推代理,非代理上级拿的收益比例
+ DataDictionaryCustom indirectPerDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.UNAGENT_TO_AGENT_PARENT.getType(), DataDictionaryEnum.UNAGENT_TO_AGENT_PARENT.getCode());
+
+ // 非代理推代理,非代理的直推收益比例
+ DataDictionaryCustom unAgentDirectDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.UNAGENT_TO_AGENT.getType(), DataDictionaryEnum.UNAGENT_TO_AGENT.getCode());
+
// 父级会员直推人数
Integer directCnt = mallMemberMapper.selectOwnCntByInviteIdAndAccountLevel(parentMember.getInviteId(), parentMember.getAccountLevel());
List<DataDictionaryCustom> dataDices = dataDictionaryCustomMapper.selectDicByType(DataDictionaryEnum.DIRECT_BONUS_SETTING.getType());
@@ -83,6 +87,9 @@
if (CollUtil.isEmpty(items)) {
return;
}
+
+ // 推荐奖比例
+ DataDictionaryCustom indrectDicPropDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.RECOMMEND_BONUS.getType(), DataDictionaryEnum.RECOMMEND_BONUS.getCode());
for (MallOrderItem item : items) {
// 减去成本后算收益
@@ -114,7 +121,7 @@
isSameLevel = 1;
// 非代理推代理/非股东推股东
} else {
- profitPer = BigDecimal.valueOf(10);
+ profitPer = new BigDecimal(unAgentDirectDic.getValue());
isSameLevel = 2;
}
}
@@ -122,17 +129,6 @@
// 直推奖
BigDecimal profit = amount.multiply(profitPer.divide(new BigDecimal(100), 2, RoundingMode.HALF_UP));
changeScoreAndCommission(parentMember.getId(), profit, MoneyFlowTypeEnum.DIRECT_BONUS.getValue(), orderInfo.getOrderNo());
-
- // 代理推代理
-// if (isSameLevel == 1) {
-// MallMember doubleParentMember = mallMemberMapper.selectInfoByInviteId(parentMember.getReferrerId());
-// if (doubleParentMember == null) {
-// continue;
-// }
-//
-// BigDecimal doubleParentProfit = profit.multiply(indirectPer);
-// changeScoreAndCommission(doubleParentMember.getId(), doubleParentProfit, MoneyFlowTypeEnum.DIRECT_BONUS.getValue(), orderInfo.getOrderNo());
-// }
// 非代理推代理
if (isSameLevel == 2) {
@@ -150,7 +146,7 @@
break;
}
- BigDecimal doubleParentProfit = profit.multiply(indirectPer2);
+ BigDecimal doubleParentProfit = profit.multiply(new BigDecimal(indirectPerDic.getValue()));
changeScoreAndCommission(mallMember.getId(), doubleParentProfit, MoneyFlowTypeEnum.DIRECT_BONUS.getValue(), orderInfo.getOrderNo());
}
}
@@ -173,8 +169,7 @@
continue;
}
- // 隔代比例
- BigDecimal indrectDicProp = new BigDecimal(20);
+ BigDecimal indrectDicProp = new BigDecimal(indrectDicPropDic.getValue());
// 隔代推荐奖 收益
direct = direct.multiply(indrectDicProp.divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP));
@@ -191,7 +186,6 @@
walletService.add(direct, parent.getId(), "commission");
moneyFlowService.addMoneyFlow(parent.getId(), direct, MoneyFlowTypeEnum.RECOMMEND_BONUS.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.COMMISSION.getValue());
moneyFlowService.addMoneyFlow(parent.getId(), direct.negate(), MoneyFlowTypeEnum.RECOMMEND_BONUS.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue());
- changeScoreAndCommission(parent.getId(), direct, MoneyFlowTypeEnum.RECOMMEND_BONUS.getValue(), orderInfo.getOrderNo());
}
// =======隔代奖== end =====
}
--
Gitblit v1.9.1