xiaoyong931011
2022-08-10 72c995726194612b74566a9a3fb6f536a8eb79d0
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallActServiceImpl.java
@@ -2,22 +2,19 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.mall.dto.AddMallActAwardDto;
import cc.mrbird.febs.mall.dto.AddMallActDto;
import cc.mrbird.febs.mall.dto.MallActAwardUpdateDto;
import cc.mrbird.febs.mall.dto.MallActUpdateDto;
import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.MallActAwardSetMapper;
import cc.mrbird.febs.mall.mapper.MallActLuckdrawRecordMapper;
import cc.mrbird.febs.mall.mapper.MallActSetMapper;
import cc.mrbird.febs.mall.mapper.MallActWinRecordMapper;
import cc.mrbird.febs.mall.mapper.*;
import cc.mrbird.febs.mall.service.IAdminMallActService;
import cc.mrbird.febs.mall.vo.AdminMallActLuckdrawRecordVo;
import cc.mrbird.febs.mall.vo.AdminMallActSetVo;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -38,6 +35,7 @@
    private final MallActAwardSetMapper mallActAwardSetMapper;
    private final MallActLuckdrawRecordMapper mallActLuckdrawRecordMapper;
    private final MallActWinRecordMapper mallActWinRecordMapper;
    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
    @Override
    public IPage<AdminMallActSetVo> getActListInPage(MallActSet mallActSet, QueryRequest request) {
@@ -153,6 +151,15 @@
        MallActSet mallActSet = this.baseMapper.selectById(id);
        if (ObjectUtil.isEmpty(mallActSet)) {
            return new FebsResponse().fail().message("活动不存在,请刷新当前页面");
        }
        Date date = new Date();
        int compareStart = DateUtil.compare(date, mallActSet.getActStartTime());
        if(compareStart < 0){
            return new FebsResponse().fail().message("活动还未开始");
        }
        int compareEnd = DateUtil.compare(date, mallActSet.getActEndTime());
        if(compareEnd > 0){
            return new FebsResponse().fail().message("活动已结束");
        }
        mallActSet.setActStatus(MallActSet.ACT_STATUS_ENABLE);
        this.baseMapper.updateById(mallActSet);
@@ -322,4 +329,49 @@
        MallActWinRecord mallActWinRecord = mallActWinRecordMapper.selectByLuckDrawId(id);
        return mallActWinRecord;
    }
    @Override
    public FebsResponse addSetting(LuckDrawSettingDto luckDrawSettingDto) {
        if(Double.parseDouble(luckDrawSettingDto.getScoreSet())>1 || Double.parseDouble(luckDrawSettingDto.getScoreSet()) <0){
            return new FebsResponse().fail().message("中奖概率必须是一个在零和一之间的小数");
        }
        if(Double.parseDouble(luckDrawSettingDto.getCashSet())>1 || Double.parseDouble(luckDrawSettingDto.getCashSet()) <0){
            return new FebsResponse().fail().message("中奖概率必须是一个在零和一之间的小数");
        }
        DataDictionaryCustom scoreDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                DataDictionaryEnum.WIN_SCORE.getType(),
                DataDictionaryEnum.WIN_SCORE.getCode());
        DataDictionaryCustom cashDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                DataDictionaryEnum.WIN_CASH.getType(),
                DataDictionaryEnum.WIN_CASH.getCode());
        if (ObjectUtil.isNotEmpty(scoreDic)) {
            scoreDic.setValue(luckDrawSettingDto.getScoreSet().toString());
            dataDictionaryCustomMapper.updateById(scoreDic);
        }else{
            DataDictionaryCustom dataDictionaryCustom = new DataDictionaryCustom();
            dataDictionaryCustom.setCode(DataDictionaryEnum.WIN_SCORE.getCode());
            dataDictionaryCustom.setType(DataDictionaryEnum.WIN_SCORE.getType());
            dataDictionaryCustom.setValue(luckDrawSettingDto.getScoreSet().toString());
            dataDictionaryCustom.setDescription("积分中奖概率");
            dataDictionaryCustomMapper.insert(dataDictionaryCustom);
        }
        if (ObjectUtil.isNotEmpty(cashDic)) {
            cashDic.setValue(luckDrawSettingDto.getCashSet().toString());
            dataDictionaryCustomMapper.updateById(cashDic);
        }else{
            DataDictionaryCustom dataDictionaryCustom = new DataDictionaryCustom();
            dataDictionaryCustom.setCode(DataDictionaryEnum.WIN_CASH.getCode());
            dataDictionaryCustom.setType(DataDictionaryEnum.WIN_CASH.getType());
            dataDictionaryCustom.setValue(luckDrawSettingDto.getScoreSet().toString());
            dataDictionaryCustom.setDescription("佣金中奖概率");
            dataDictionaryCustomMapper.insert(dataDictionaryCustom);
        }
        return new FebsResponse().success().message("操作成功");
    }
}