package com.gkhy.assess.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.assess.common.api.CommonPage; import com.gkhy.assess.common.enums.DeleteFlagEnum; import com.gkhy.assess.common.exception.ApiException; import com.gkhy.assess.common.utils.PageUtil; import com.gkhy.assess.system.domain.SysDictData; import com.gkhy.assess.system.mapper.SysDictDataMapper; import com.gkhy.assess.system.service.SysDictDataService; import com.gkhy.assess.system.utils.ShiroUtils; import org.springframework.stereotype.Service; import java.util.List; /** *

* 字典数据表 服务实现类 *

* * @author kzy * @since 2023-11-01 15:37:51 */ @Service public class SysDictDataServiceImpl extends ServiceImpl implements SysDictDataService { @Override public SysDictData getDictDataById(Long dictId) { return baseMapper.getDictDataById(dictId); } @Override public int addDictData(SysDictData dictData) { if(!checkDictDataUnique(dictData)){ throw new ApiException("已存在相同字典数据"); } dictData.setCreateBy(ShiroUtils.getSysUser().getUsername()); boolean b=save(dictData); if(!b){ throw new ApiException("新增字典数据失败"); } return 1; } public boolean checkDictDataUnique(SysDictData dictData) { LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery() .eq(SysDictData::getDictType, dictData.getDictType()) .eq(SysDictData::getDelFlag, DeleteFlagEnum.UN_DELETE) .eq(SysDictData::getLabel, dictData.getLabel()); if(dictData.getId()!=null){ lambdaQueryWrapper.ne(SysDictData::getId,dictData.getId()); } long existCount= count(lambdaQueryWrapper); if(existCount>0){ return false; } return true; } @Override public int editDictData(SysDictData dictData) { if(!checkDictDataUnique(dictData)){ throw new ApiException("已存在相同字典数据"); } dictData.setUpdateBy(ShiroUtils.getSysUser().getUsername()); boolean b=updateById(dictData); if(!b){ throw new ApiException("修改字典数据失败"); } return 1; } @Override public int deleteDictDataById(Long dictId) { SysDictData sysDictData=new SysDictData().setId(dictId) .setDelFlag(DeleteFlagEnum.DELETED.getCode()); sysDictData.setUpdateBy(ShiroUtils.getSysUser().getName()); boolean b=updateById(sysDictData); if(!b){ throw new ApiException("删除字典数据失败"); } return 1; } @Override public int changeDictDataStatus(SysDictData dictData) { return editDictData(dictData); } @Override public CommonPage dictDataList(SysDictData dictData) { PageUtil.startPage(); List dictList=baseMapper.dictDataList(dictData); return CommonPage.restPage(dictList); } }