From 906966590e64e82cec91aa6c825d43b52a28e891 Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Mon, 08 May 2023 18:09:59 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java | 21 ++++++++++-----------
1 files changed, 10 insertions(+), 11 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 55bb1e4..89c6fbd 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
@@ -77,8 +77,8 @@
// 非代理推代理,非代理的直推收益比例
DataDictionaryCustom unAgentDirectDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.UNAGENT_TO_AGENT.getType(), DataDictionaryEnum.UNAGENT_TO_AGENT.getCode());
- // 父级会员直推人数
- Integer directCnt = mallMemberMapper.selectOwnCntByInviteIdAndAccountLevel(parentMember.getInviteId(), parentMember.getAccountLevel());
+ // 父级需要拥有 此会员 对应级别的直推数量
+ Integer directCnt = mallMemberMapper.selectOwnCntByInviteIdAndAccountLevel(parentMember.getInviteId(), member.getAccountLevel());
List<DataDictionaryCustom> dataDices = dataDictionaryCustomMapper.selectDicByType(DataDictionaryEnum.DIRECT_BONUS_SETTING.getType());
directCnt = directCnt == null ? 0 : directCnt;
@@ -92,8 +92,8 @@
DataDictionaryCustom indrectDicPropDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.RECOMMEND_BONUS.getType(), DataDictionaryEnum.RECOMMEND_BONUS.getCode());
for (MallOrderItem item : items) {
- // 减去成本后算收益
- BigDecimal amount = item.getPrice().subtract(item.getCostPrice()).multiply(BigDecimal.valueOf(item.getCnt()));
+ // 减去成本后算收益 减去积分付款
+ BigDecimal amount = item.getPrice().subtract(item.getCostPrice()).multiply(BigDecimal.valueOf(item.getCnt())).subtract(orderInfo.getScoreAmount());
if (amount.compareTo(BigDecimal.ZERO) < 1) {
continue;
}
@@ -110,8 +110,7 @@
} else {
// 判断上级是否与自己购买的套餐符合,若符合则走3级直推逻辑,若不符合则另外一个
- if (parentMember.getAccountLevel().equals(item.getGoodsLevel()) || AccountLevelEnums.VIP.getLevel().equals(parentMember.getAccountLevel())) {
-
+ if (parentMember.getAccountLevel() >= item.getGoodsLevel()) {
for (DataDictionaryCustom dataDic : dataDices) {
JSONObject jsonObject = JSONObject.parseObject(dataDic.getValue());
if (directCnt >= jsonObject.getInteger("pushCnt")) {
@@ -183,8 +182,8 @@
continue;
}
- walletService.add(direct, parent.getId(), "commission");
- moneyFlowService.addMoneyFlow(parent.getId(), direct, MoneyFlowTypeEnum.RECOMMEND_BONUS.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.COMMISSION.getValue());
+ walletService.add(direct, parent.getId(), "balance");
+ moneyFlowService.addMoneyFlow(parent.getId(), direct, MoneyFlowTypeEnum.RECOMMEND_BONUS.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
moneyFlowService.addMoneyFlow(parent.getId(), direct.negate(), MoneyFlowTypeEnum.RECOMMEND_BONUS.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue());
}
// =======隔代奖== end =====
@@ -365,8 +364,8 @@
}
income = map.get("amount");
- walletService.add(income, memberId, "commission");
- moneyFlowService.addMoneyFlow(memberId, income, type, orderNo, FlowTypeEnum.COMMISSION.getValue());
+ walletService.add(income, memberId, "balance");
+ moneyFlowService.addMoneyFlow(memberId, income, type, orderNo, FlowTypeEnum.BALANCE.getValue());
moneyFlowService.addMoneyFlow(memberId, income.negate(), type, orderNo, FlowTypeEnum.SCORE.getValue());
return income;
}
@@ -483,7 +482,7 @@
BigDecimal hundred = new BigDecimal(100);
for (MallOrderItem item : items) {
// 减去成本后算收益
- BigDecimal amount = item.getPrice().subtract(item.getCostPrice()).multiply(BigDecimal.valueOf(item.getCnt()));
+ BigDecimal amount = item.getPrice().subtract(item.getCostPrice()).multiply(BigDecimal.valueOf(item.getCnt())).subtract(orderInfo.getScoreAmount());
if (amount.compareTo(BigDecimal.ZERO) < 1) {
continue;
}
--
Gitblit v1.9.1