|
|
|
|
@ -4,20 +4,19 @@ import cn.hutool.core.util.ObjectUtil;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
import org.dromara.common.core.constant.CacheNames;
|
|
|
|
|
import org.dromara.common.core.exception.ServiceException;
|
|
|
|
|
import org.dromara.common.core.utils.MapstructUtils;
|
|
|
|
|
import org.dromara.common.core.utils.ObjectUtils;
|
|
|
|
|
import org.dromara.common.core.utils.StringUtils;
|
|
|
|
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
|
|
|
import org.dromara.system.domain.SysDictData;
|
|
|
|
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
|
|
|
import org.dromara.common.core.exception.ServiceException;
|
|
|
|
|
import org.dromara.common.core.utils.StringUtils;
|
|
|
|
|
import org.dromara.common.redis.utils.CacheUtils;
|
|
|
|
|
import org.dromara.system.domain.SysDictData;
|
|
|
|
|
import org.dromara.system.domain.bo.SysDictDataBo;
|
|
|
|
|
import org.dromara.system.domain.vo.SysDictDataVo;
|
|
|
|
|
import org.dromara.system.mapper.SysDictDataMapper;
|
|
|
|
|
import org.dromara.system.service.ISysDictDataService;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
import org.springframework.cache.annotation.CachePut;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
@ -95,12 +94,10 @@ public class SysDictDataServiceImpl implements ISysDictDataService {
|
|
|
|
|
* @param dictCodes 需要删除的字典数据ID
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public void deleteDictDataByIds(Long[] dictCodes) {
|
|
|
|
|
for (Long dictCode : dictCodes) {
|
|
|
|
|
SysDictData data = baseMapper.selectById(dictCode);
|
|
|
|
|
baseMapper.deleteById(dictCode);
|
|
|
|
|
CacheUtils.evict(CacheNames.SYS_DICT, data.getDictType());
|
|
|
|
|
}
|
|
|
|
|
public void deleteDictDataByIds(List<Long> dictCodes) {
|
|
|
|
|
List<SysDictData> list = baseMapper.selectByIds(dictCodes);
|
|
|
|
|
baseMapper.deleteByIds(dictCodes);
|
|
|
|
|
list.forEach(x -> CacheUtils.evict(CacheNames.SYS_DICT, x.getDictType()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@ -145,13 +142,11 @@ public class SysDictDataServiceImpl implements ISysDictDataService {
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public boolean checkDictDataUnique(SysDictDataBo dict) {
|
|
|
|
|
Long dictCode = ObjectUtils.notNull(dict.getDictCode(), -1L);
|
|
|
|
|
SysDictData entity = baseMapper.selectOne(new LambdaQueryWrapper<SysDictData>()
|
|
|
|
|
.eq(SysDictData::getDictType, dict.getDictType()).eq(SysDictData::getDictValue, dict.getDictValue()));
|
|
|
|
|
if (ObjectUtil.isNotNull(entity) && !dictCode.equals(entity.getDictCode())) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysDictData>()
|
|
|
|
|
.eq(SysDictData::getDictType, dict.getDictType())
|
|
|
|
|
.eq(SysDictData::getDictValue, dict.getDictValue())
|
|
|
|
|
.ne(ObjectUtil.isNotNull(dict.getDictCode()), SysDictData::getDictCode, dict.getDictCode()));
|
|
|
|
|
return !exist;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|