KKSU
2024-07-30 c1af5cf94920702b6aa962881365116542e88ab0
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,47 @@
            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);
            }
        }
    }
}