From 34d55a78a941ee9789d46e11b035c6653a7c67ce Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 14 Aug 2023 11:05:21 +0800
Subject: [PATCH] 赠送积分更新状态

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java |   41 +++++++++++++++++++++++------------------
 1 files changed, 23 insertions(+), 18 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
index 88883a8..aa32039 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -57,6 +57,7 @@
     private final IMallMoneyFlowService mallMoneyFlowService;
     private final MallMemberClassMapper mallMemberClassMapper;
     private final MallMemberHouseMapper mallMemberHouseMapper;
+    private final MallMoneyFlowMapper mallMoneyFlowMapper;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -370,25 +371,29 @@
                 String referrerId = mallMember.getReferrerId();
                 MallMember mallMemberParent = memberMapper.selectInfoByInviteId(referrerId);
                 Long id = mallMemberParent.getId();
-                DataDictionaryCustom returnPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
-                        DataDictionaryEnum.MEMBER_RETURN_PERCENT.getType(),
-                        DataDictionaryEnum.MEMBER_RETURN_PERCENT.getCode()
-                );
-                String returnPercentStr = StrUtil.isNotEmpty(returnPercentDic.getValue()) ? "1" : returnPercentDic.getValue();
-                BigDecimal returnPercent = new BigDecimal(returnPercentStr).divide(new BigDecimal(100), 2, BigDecimal.ROUND_DOWN);
-                BigDecimal amountActual = amountBigDecimal.multiply(returnPercent).setScale(2, BigDecimal.ROUND_DOWN);
 
-                mallMoneyFlowService.addMoneyFlow(
-                        mallMember.getId(),
-                        amountActual,
-                        MoneyFlowTypeEnum.DYNAMIC_ACHIEVE.getValue(),
-                        mallOrderInfo.getOrderNo(),
-                        "直推奖",
-                        "直推奖",
-                        id,
-                        1,
-                        FlowTypeEnum.BALANCE.getValue(),
-                        2);
+                MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOneByOrderNoAndMemberIdAndRtMemberId(mallOrderInfo.getOrderNo(), memberId, id);
+                if(ObjectUtil.isEmpty(mallMoneyFlow)){
+                    DataDictionaryCustom returnPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                            DataDictionaryEnum.MEMBER_RETURN_PERCENT.getType(),
+                            DataDictionaryEnum.MEMBER_RETURN_PERCENT.getCode()
+                    );
+                    String returnPercentStr = StrUtil.isNotEmpty(returnPercentDic.getValue()) ? "1" : returnPercentDic.getValue();
+                    BigDecimal returnPercent = new BigDecimal(returnPercentStr).divide(new BigDecimal(100), 2, BigDecimal.ROUND_DOWN);
+                    BigDecimal amountActual = amountBigDecimal.multiply(returnPercent).setScale(2, BigDecimal.ROUND_DOWN);
+
+                    mallMoneyFlowService.addMoneyFlow(
+                            mallMember.getId(),
+                            amountActual,
+                            MoneyFlowTypeEnum.DYNAMIC_ACHIEVE.getValue(),
+                            mallOrderInfo.getOrderNo(),
+                            "直推奖",
+                            "直推奖",
+                            id,
+                            1,
+                            FlowTypeEnum.BALANCE.getValue(),
+                            2);
+                }
             }
         }
         for(MallOrderItem mallOrderItem : mallOrderItemList){

--
Gitblit v1.9.1