From c1af5cf94920702b6aa962881365116542e88ab0 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 30 Jul 2024 09:42:46 +0800
Subject: [PATCH] 后台

---
 src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java |   94 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 92 insertions(+), 2 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 e9efbc9..346b868 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,15 +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.DataDictionaryCustom;
-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;
 
 /**
@@ -22,9 +26,19 @@
 public class CommonService implements ICommonService {
     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) {
+        if ("SMS_CODE".equals(code)) {
+            return true;
+        }
+
         String cacheCode = redisUtils.getString(AppContants.VERIFY_CODE_PREFIX + account);
         if (StrUtil.isBlank(cacheCode)) {
             return false;
@@ -41,4 +55,80 @@
     public List<DataDictionaryCustom> findDataDicByType(String type) {
         return dataDictionaryCustomMapper.selectDicByType(type);
     }
+
+    @Override
+    public List<AppVersion> findAppVersion() {
+        return appVersionMapper.selectList(null);
+    }
+
+    @Override
+    public void addDataDic(String type, String code, Object value, String description) {
+        DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(type, code);
+
+        String data = JSONObject.toJSONString(value);
+        if (dic != null) {
+            dic.setValue(data);
+            dataDictionaryCustomMapper.updateById(dic);
+            return;
+        }
+
+        dic = new DataDictionaryCustom();
+        dic.setCode(code);
+        dic.setType(type);
+        dic.setValue(data);
+        dic.setDescription(description);
+        dataDictionaryCustomMapper.insert(dic);
+    }
+
+    @Override
+    public void updateDataDic(String type, String code, String value) {
+        DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(type, code);
+        if (dic != null) {
+            dic.setValue(value);
+            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.setCostAmount(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