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