From 6a99e83107428159d321c1b77cb994e0b2f92fe5 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 10 Oct 2023 10:25:05 +0800
Subject: [PATCH] redbagprod
---
src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java | 93 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 91 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..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,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,79 @@
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.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