From 642a3ec9b15d7cd853845590c2a044f4970b9358 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 15 Aug 2023 18:08:14 +0800
Subject: [PATCH] 赠送积分更新状态

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java |   76 +++++++++++++++++++++++--------------
 1 files changed, 47 insertions(+), 29 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 c97917e..1129921 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)
@@ -241,7 +242,7 @@
     @Override
     public void addMemberScan(String str) {
 
-        String[] split = StrUtil.split(str, "-");
+        String[] split = StrUtil.split(str, "@");
         String referrerId = split[0];
         String openId = split[1];
         MallMember mallMember = memberMapper.selectMemberByOpenId(openId);
@@ -370,16 +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);
-                memberWalletService.add(amountActual, id, "balance");
-                mallMoneyFlowService.addMoneyFlow(id, amountActual, MoneyFlowTypeEnum.DYNAMIC_ACHIEVE.getValue(),
-                        mallOrderInfo.getOrderNo(),  FlowTypeEnum.BALANCE.getValue());
+
+                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){
@@ -388,26 +402,26 @@
             if(ObjectUtil.isEmpty(mallGoods)){
                 break;
             }
-            if(1 == mallGoods.getIsUnreal()){
+            if(ObjectUtil.isNotEmpty(mallGoods.getIsUnreal()) && 1 == mallGoods.getIsUnreal()){
                 mallOrderInfo.setStatus(OrderStatusEnum.FINISH.getValue());
                 mallOrderInfoMapper.updateById(mallOrderInfo);
-            }
-            //是否送券 1:是 2:否
-            BigDecimal levelTwoPrice = mallGoods.getLevelTwoPrice();
-            if(BigDecimal.ONE.compareTo(levelTwoPrice) == 0){
-                MallRollPerk mallRollPerk = new MallRollPerk();
-                mallRollPerk.setMemberId(memberId);
-                mallRollPerk.setState(1);
-                mallRollPerk.setRollId(mallGoods.getLevelThreePrice().longValue());
-                mallRollPerkMapper.insert(mallRollPerk);
-            }
-            //赠送积分
-            BigDecimal levelOnePrice = mallGoods.getLevelOnePrice();
-            if(BigDecimal.ZERO.compareTo(levelOnePrice) <= 0){
-                memberWalletService.add(levelOnePrice, memberId, "score");
+                //是否送券 1:是 2:否
+                BigDecimal levelTwoPrice = mallGoods.getLevelTwoPrice();
+                if(BigDecimal.ONE.compareTo(levelTwoPrice) == 0){
+                    MallRollPerk mallRollPerk = new MallRollPerk();
+                    mallRollPerk.setMemberId(memberId);
+                    mallRollPerk.setState(1);
+                    mallRollPerk.setRollId(mallGoods.getLevelThreePrice().longValue());
+                    mallRollPerkMapper.insert(mallRollPerk);
+                }
+                //赠送积分
+                BigDecimal levelOnePrice = mallGoods.getLevelOnePrice();
+                if(BigDecimal.ZERO.compareTo(levelOnePrice) <= 0){
+                    memberWalletService.add(levelOnePrice, memberId, "score");
 
-                mallMoneyFlowService.addMoneyFlow(memberId, levelOnePrice, MoneyFlowTypeEnum.STATIC_BONUS.getValue(),
-                        mallOrderInfo.getOrderNo(),  FlowTypeEnum.SCORE.getValue());
+                    mallMoneyFlowService.addMoneyFlow(memberId, levelOnePrice, MoneyFlowTypeEnum.STATIC_BONUS.getValue(),
+                            mallOrderInfo.getOrderNo(),  FlowTypeEnum.SCORE.getValue(),"赠送积分",2);
+                }
             }
         }
     }
@@ -444,13 +458,16 @@
             mallMemberClass.setOrderId(orderId);
             mallMemberClass.setClassName(goodsName);
             mallMemberClass.setClassPic(skuImage);
-            mallMemberClass.setClassUrl(skuImage);
+            mallMemberClass.setClassDec(mallGoods.getGoodsIntrodution());
+            mallMemberClass.setClassUrl(mallGoods.getVideoUrl());
+            mallMemberClass.setCreateTime(DateUtil.date());
             mallMemberClassMapper.insert(mallMemberClass);
             return;
         }else if(5 == isNormal){
             //民宿卷
             MallMemberHouse mallMemberHouse = new MallMemberHouse();
             mallMemberHouse.setOrderId(orderId);
+            mallMemberHouse.setOrderNo(mallOrderInfo.getOrderNo());
             mallMemberHouse.setMemberId(memberId);
             mallMemberHouse.setState(1);
             mallMemberHouse.setCreateTime(DateUtil.date());
@@ -458,6 +475,7 @@
             mallMemberHouse.setUnuseTime(DateUtil.date().offset(DateField.HOUR_OF_DAY,48));
             mallMemberHouse.setHouseName(mallGoods.getHouseName());
             mallMemberHouse.setHouseAddress(mallGoods.getHouseAddress());
+            mallMemberHouse.setHousePic(mallGoods.getThumb());
             mallMemberHouseMapper.insert(mallMemberHouse);
             return;
         }else{

--
Gitblit v1.9.1