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