From f501ddfe054f23e50239dff36270fc2f56d15e7d Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 08 May 2023 17:00:55 +0800
Subject: [PATCH] 微信支付

---
 src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 52 insertions(+), 4 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java
index ad5ce73..70395e5 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java
@@ -1,18 +1,19 @@
 package cc.mrbird.febs.mall.service.impl;
 
+import cc.mrbird.febs.common.enumerates.MemberLevelEnum;
 import cc.mrbird.febs.common.utils.AppContants;
 import cc.mrbird.febs.common.utils.RedisUtils;
-import cc.mrbird.febs.mall.entity.AppVersion;
-import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
-import cc.mrbird.febs.mall.mapper.AppVersionMapper;
-import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
+import cc.mrbird.febs.mall.entity.*;
+import cc.mrbird.febs.mall.mapper.*;
 import cc.mrbird.febs.mall.service.ICommonService;
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONObject;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -26,6 +27,11 @@
     private final RedisUtils redisUtils;
     private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
     private final AppVersionMapper appVersionMapper;
+    private final MallOrderInfoMapper mallOrderInfoMapper;
+    private final MallMemberMapper memberMapper;
+    private final MallGoodsMapper mallGoodsMapper;
+    private final MallGoodsSkuMapper mallGoodsSkuMapper;
+    private final MallAchieveRecordMapper mallAchieveRecordMapper;
 
     @Override
     public boolean verifyCode(String account, String code) {
@@ -82,4 +88,46 @@
             dataDictionaryCustomMapper.updateById(dic);
         }
     }
+
+    @Override
+    public void addAchieveAndUpdateLevel(Long orderId,Long memberId){
+        MallOrderInfo orderInfo = mallOrderInfoMapper.selectById(orderId);
+        MallMember member = memberMapper.selectById(memberId);
+
+        boolean hasTc = false;
+        BigDecimal achieveAmount = BigDecimal.ZERO;
+        List<MallOrderItem> orderItems = mallOrderInfoMapper.getMallOrderItemByOrderId(orderId);
+        if (CollUtil.isNotEmpty(orderItems)) {
+            for (MallOrderItem orderItem : orderItems) {
+                MallGoods mallGoods = mallGoodsMapper.selectById(orderItem.getGoodsId());
+                MallGoodsSku sku = mallGoodsSkuMapper.selectById(orderItem.getSkuId());
+                if (mallGoods.getIsNormal() == 2) {
+                    hasTc = true;
+                    achieveAmount = achieveAmount.add(sku.getPresentPrice().multiply(new BigDecimal(orderItem.getCnt())));
+                }
+            }
+        }
+
+        if (hasTc){
+            if(achieveAmount.compareTo(BigDecimal.ZERO) > 0) {
+                // 添加业绩
+                MallAchieveRecord mallAchieveRecord = new MallAchieveRecord();
+                mallAchieveRecord.setMemberId(memberId);
+                mallAchieveRecord.setAmount(achieveAmount);
+                mallAchieveRecord.setAchieveTime(orderInfo.getPayTime());
+                mallAchieveRecord.setOrderId(orderInfo.getId());
+                mallAchieveRecord.setIsNormal(2);
+                mallAchieveRecord.setPayTime(orderInfo.getPayTime());
+                mallAchieveRecordMapper.insert(mallAchieveRecord);
+                //得到三倍补助
+//                BigDecimal multiply = achieveAmount.multiply(new BigDecimal(3));
+//                memberWalletService.add(multiply, memberId, "commission");
+
+            }
+            if(member.getLevel().equals(MemberLevelEnum.FANS.getType())){
+                member.setLevel(MemberLevelEnum.NORMAL.getType());
+                memberMapper.updateById(member);
+            }
+        }
+    }
 }

--
Gitblit v1.9.1