From 36764720f6553b6446d4f53aeebdab1f11920165 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 08 Aug 2022 16:37:38 +0800
Subject: [PATCH] 20220808
---
src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java | 21 +++++++++++++++++----
1 files changed, 17 insertions(+), 4 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 c1ad6f2..65656f4 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
@@ -49,6 +49,8 @@
private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
private final MallMoneyFlowMapper mallMoneyFlowMapper;
private final MallAchieveRecordMapper mallAchieveRecordMapper;
+ private final RedisUtils redisUtils;
+ private final MallMemberWalletMapper mallMemberWalletMapper;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -481,8 +483,6 @@
log.info("#####==店补/董事==end==######");
}
- private final RedisUtils redisUtils;
-
@Override
public void scorePool() {
log.info("#####==积分池==start==######");
@@ -517,8 +517,21 @@
return;
}
for(MallMember mallMember : mallMembers){
- walletService.add(income, mallMember.getId(), "score");
- moneyFlowService.addMoneyFlow(mallMember.getId(), income, MoneyFlowTypeEnum.SCORE_POOL.getValue(), null, FlowTypeEnum.SCORE.getValue());
+ /*
+ 平分成佣金,一比一减少赠送积分
+ 如果没有赠送积分,则平分0
+ */
+ BigDecimal outCome = BigDecimal.ZERO;
+ MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(mallMember.getId());
+ if(mallMemberWallet.getScore().compareTo(income) < 0){
+ outCome = new BigDecimal(mallMemberWallet.getScore().intValue());
+ }else{
+ outCome = income;
+ }
+ walletService.add(outCome, mallMember.getId(), "commission");
+ walletService.reduce(outCome, mallMember.getId(), "score");
+ moneyFlowService.addMoneyFlow(mallMember.getId(), outCome, MoneyFlowTypeEnum.SCORE_POOL.getValue(), null, FlowTypeEnum.COMMISSION.getValue());
+ moneyFlowService.addMoneyFlow(mallMember.getId(), outCome.negate(), MoneyFlowTypeEnum.SCORE_POOL.getValue(), null, FlowTypeEnum.SCORE.getValue());
}
}
log.info("#####==积分池==end==######");
--
Gitblit v1.9.1