From 895dc6191e123c372ce5ea8e92246081e208f4b6 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sat, 11 Jun 2022 20:49:44 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java | 29 +++++++++++++++--------------
1 files changed, 15 insertions(+), 14 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 b2e2e65..e1c333f 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
@@ -168,16 +168,15 @@
List<DataDictionaryCustom> dataDices = dataDictionaryCustomMapper.selectDicByType(DataDictionaryEnum.INDIRECT_BONUS_SETTING.getType());
directCnt = directCnt == null ? 0 :directCnt;
- // 隔代字典
- DataDictionaryCustom indrectDic = new DataDictionaryCustom();
- for (DataDictionaryCustom dataDic : dataDices) {
- if (directCnt > Integer.parseInt(dataDic.getValue())) {
- indrectDic = dataDic;
- }
- }
// 隔代比例
- BigDecimal indrectDicProp = new BigDecimal(indrectDic.getValue());
+ BigDecimal indrectDicProp = BigDecimal.ZERO;
+ for (DataDictionaryCustom dataDic : dataDices) {
+ JSONObject jsonObject = JSONObject.parseObject(dataDic.getValue());
+ if (directCnt >= jsonObject.getInteger("pushCnt")) {
+ indrectDicProp = jsonObject.getBigDecimal("prop");
+ }
+ }
// 隔代推荐奖 收益
direct = direct.divide(indrectDicProp, 2, RoundingMode.HALF_UP);
@@ -308,17 +307,19 @@
continue;
}
- BigDecimal preProfit = income.multiply(prop).divide(BigDecimal.valueOf(children.size()), 2, RoundingMode.HALF_DOWN);
-
-
- int reduce = walletService.reduce(preProfit.negate(), mallMember.getId(), "commission");
+ BigDecimal reduceProfit = income.multiply(prop);
+ int reduce = walletService.reduce(reduceProfit.negate(), mallMember.getId(), "commission");
if (reduce == 2) {
continue;
}
- moneyFlowService.addMoneyFlow(mallMember.getId(), income.negate(), MoneyFlowTypeEnum.THANKFUL.getValue(), null, FlowTypeEnum.COMMISSION.getValue());
-
+ moneyFlowService.addMoneyFlow(mallMember.getId(), reduceProfit.negate(), MoneyFlowTypeEnum.THANKFUL.getValue(), null, FlowTypeEnum.COMMISSION.getValue());
for (MallMember child : children) {
+ BigDecimal preProfit = income.multiply(prop).divide(BigDecimal.valueOf(children.size()), 2, RoundingMode.HALF_DOWN);
+ if (preProfit.compareTo(BigDecimal.ZERO) < 1) {
+ continue;
+ }
+
int reduce1 = walletService.reduce(preProfit.negate(), child.getId(), "score");
if (reduce1 == 2) {
continue;
--
Gitblit v1.9.1