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

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java |   52 ++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 36 insertions(+), 16 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 d76f35a..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)
@@ -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){
@@ -387,6 +401,10 @@
             MallGoods mallGoods = mallGoodsMapper.selectById(goodsId);
             if(ObjectUtil.isEmpty(mallGoods)){
                 break;
+            }
+            if(ObjectUtil.isNotEmpty(mallGoods.getIsUnreal()) && 1 == mallGoods.getIsUnreal()){
+                mallOrderInfo.setStatus(OrderStatusEnum.FINISH.getValue());
+                mallOrderInfoMapper.updateById(mallOrderInfo);
             }
             //是否送券 1:是 2:否
             BigDecimal levelTwoPrice = mallGoods.getLevelTwoPrice();
@@ -396,8 +414,6 @@
                 mallRollPerk.setState(1);
                 mallRollPerk.setRollId(mallGoods.getLevelThreePrice().longValue());
                 mallRollPerkMapper.insert(mallRollPerk);
-                mallOrderInfo.setStatus(OrderStatusEnum.FINISH.getValue());
-                mallOrderInfoMapper.updateById(mallOrderInfo);
             }
             //赠送积分
             BigDecimal levelOnePrice = mallGoods.getLevelOnePrice();
@@ -405,7 +421,7 @@
                 memberWalletService.add(levelOnePrice, memberId, "score");
 
                 mallMoneyFlowService.addMoneyFlow(memberId, levelOnePrice, MoneyFlowTypeEnum.STATIC_BONUS.getValue(),
-                        mallOrderInfo.getOrderNo(),  FlowTypeEnum.SCORE.getValue());
+                        mallOrderInfo.getOrderNo(),  FlowTypeEnum.SCORE.getValue(),"赠送积分",2);
             }
         }
     }
@@ -442,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());
@@ -456,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