mirror of https://gitee.com/stylefeng/roses
【DictTypeServiceImpl】优化方法
parent
5faf34bba6
commit
1f8e88b9fb
|
@ -37,9 +37,6 @@ import java.util.List;
|
||||||
@Service
|
@Service
|
||||||
public class DictTypeServiceImpl extends ServiceImpl<DictTypeMapper, SysDictType> implements DictTypeService {
|
public class DictTypeServiceImpl extends ServiceImpl<DictTypeMapper, SysDictType> implements DictTypeService {
|
||||||
|
|
||||||
@Resource
|
|
||||||
private DictService dictService;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private PinYinApi pinYinApi;
|
private PinYinApi pinYinApi;
|
||||||
|
|
||||||
|
@ -49,17 +46,11 @@ public class DictTypeServiceImpl extends ServiceImpl<DictTypeMapper, SysDictType
|
||||||
// 如果是系统级字典,只允许管理员操作
|
// 如果是系统级字典,只允许管理员操作
|
||||||
validateSystemTypeClassOperate(dictTypeRequest);
|
validateSystemTypeClassOperate(dictTypeRequest);
|
||||||
|
|
||||||
// 模型转化
|
|
||||||
SysDictType sysDictType = new SysDictType();
|
SysDictType sysDictType = new SysDictType();
|
||||||
BeanUtil.copyProperties(dictTypeRequest, sysDictType);
|
BeanUtil.copyProperties(dictTypeRequest, sysDictType);
|
||||||
|
|
||||||
// 设置初始状态
|
|
||||||
sysDictType.setStatusFlag(StatusEnum.ENABLE.getCode());
|
sysDictType.setStatusFlag(StatusEnum.ENABLE.getCode());
|
||||||
sysDictType.setDelFlag(YesOrNotEnum.N.getCode());
|
|
||||||
|
|
||||||
// 设置首字母拼音
|
|
||||||
sysDictType.setDictTypeNamePinyin(pinYinApi.parseEveryPinyinFirstLetter(sysDictType.getDictTypeName()));
|
sysDictType.setDictTypeNamePinyin(pinYinApi.parseEveryPinyinFirstLetter(sysDictType.getDictTypeName()));
|
||||||
this.baseMapper.insert(sysDictType);
|
this.save(sysDictType);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -69,18 +60,10 @@ public class DictTypeServiceImpl extends ServiceImpl<DictTypeMapper, SysDictType
|
||||||
// 如果是系统级字典,只允许管理员操作
|
// 如果是系统级字典,只允许管理员操作
|
||||||
validateSystemTypeClassOperate(dictTypeRequest);
|
validateSystemTypeClassOperate(dictTypeRequest);
|
||||||
|
|
||||||
// 获取字典类型
|
SysDictType sysDictType = this.querySysDictType(dictTypeRequest);
|
||||||
SysDictType oldSysDictType = querySysDictType(dictTypeRequest);
|
sysDictType.setDelFlag(YesOrNotEnum.Y.getCode());
|
||||||
|
this.updateById(sysDictType);
|
||||||
|
|
||||||
// 字典类型删除
|
|
||||||
oldSysDictType.setDelFlag(YesOrNotEnum.Y.getCode());
|
|
||||||
this.baseMapper.updateById(oldSysDictType);
|
|
||||||
|
|
||||||
// 逻辑删除所有改类型下的字典
|
|
||||||
LambdaUpdateWrapper<SysDict> lambdaQueryWrapper = new LambdaUpdateWrapper<>();
|
|
||||||
lambdaQueryWrapper.eq(SysDict::getDictTypeCode, oldSysDictType.getDictTypeCode());
|
|
||||||
lambdaQueryWrapper.set(SysDict::getDelFlag, YesOrNotEnum.Y.getCode());
|
|
||||||
dictService.update(lambdaQueryWrapper);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -89,18 +72,13 @@ public class DictTypeServiceImpl extends ServiceImpl<DictTypeMapper, SysDictType
|
||||||
// 如果是系统级字典,只允许管理员操作
|
// 如果是系统级字典,只允许管理员操作
|
||||||
validateSystemTypeClassOperate(dictTypeRequest);
|
validateSystemTypeClassOperate(dictTypeRequest);
|
||||||
|
|
||||||
// 获取字典类型
|
// 更新数据
|
||||||
SysDictType oldSysDictType = querySysDictType(dictTypeRequest);
|
SysDictType sysDictType = this.querySysDictType(dictTypeRequest);
|
||||||
|
BeanUtil.copyProperties(dictTypeRequest, sysDictType);
|
||||||
// 模型转化
|
sysDictType.setDictTypeCode(null);
|
||||||
BeanUtil.copyProperties(dictTypeRequest, oldSysDictType);
|
|
||||||
|
|
||||||
// 不能修改字典编码
|
|
||||||
oldSysDictType.setDictTypeCode(null);
|
|
||||||
|
|
||||||
// 设置首字母拼音
|
// 设置首字母拼音
|
||||||
oldSysDictType.setDictTypeNamePinyin(pinYinApi.parseEveryPinyinFirstLetter(oldSysDictType.getDictTypeName()));
|
sysDictType.setDictTypeNamePinyin(pinYinApi.parseEveryPinyinFirstLetter(sysDictType.getDictTypeName()));
|
||||||
this.updateById(oldSysDictType);
|
this.updateById(sysDictType);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -110,59 +88,28 @@ public class DictTypeServiceImpl extends ServiceImpl<DictTypeMapper, SysDictType
|
||||||
// 如果是系统级字典,只允许管理员操作
|
// 如果是系统级字典,只允许管理员操作
|
||||||
validateSystemTypeClassOperate(dictTypeRequest);
|
validateSystemTypeClassOperate(dictTypeRequest);
|
||||||
|
|
||||||
// 获取字典类型
|
// 更新数据
|
||||||
SysDictType oldSysDictType = querySysDictType(dictTypeRequest);
|
SysDictType oldSysDictType = this.querySysDictType(dictTypeRequest);
|
||||||
|
|
||||||
// 修改状态
|
|
||||||
oldSysDictType.setStatusFlag(dictTypeRequest.getStatusFlag());
|
oldSysDictType.setStatusFlag(dictTypeRequest.getStatusFlag());
|
||||||
|
|
||||||
// 修改所有本类型下的字典状态
|
|
||||||
LambdaUpdateWrapper<SysDict> lambdaQueryWrapper = new LambdaUpdateWrapper<>();
|
|
||||||
lambdaQueryWrapper.eq(SysDict::getDictTypeCode, oldSysDictType.getDictTypeCode());
|
|
||||||
lambdaQueryWrapper.eq(SysDict::getDelFlag, YesOrNotEnum.N.getCode());
|
|
||||||
lambdaQueryWrapper.set(SysDict::getStatusFlag, dictTypeRequest.getStatusFlag());
|
|
||||||
dictService.update(lambdaQueryWrapper);
|
|
||||||
|
|
||||||
// 更新字典类型
|
|
||||||
this.updateById(oldSysDictType);
|
this.updateById(oldSysDictType);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SysDictType detail(DictTypeRequest dictTypeRequest) {
|
public SysDictType detail(DictTypeRequest dictTypeRequest) {
|
||||||
List<SysDictType> list = this.findList(dictTypeRequest);
|
return this.getOne(this.createWrapper(dictTypeRequest), false);
|
||||||
if (list.isEmpty()) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return list.get(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SysDictType> findList(DictTypeRequest dictTypeRequest) {
|
public List<SysDictType> findList(DictTypeRequest dictTypeRequest) {
|
||||||
LambdaQueryWrapper<SysDictType> queryWrapper = this.createWrapper(dictTypeRequest);
|
return this.list(this.createWrapper(dictTypeRequest));
|
||||||
return this.list(queryWrapper);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<SysDictType> findPage(DictTypeRequest dictTypeRequest) {
|
public PageResult<SysDictType> findPage(DictTypeRequest dictTypeRequest) {
|
||||||
LambdaQueryWrapper<SysDictType> queryWrapper = this.createWrapper(dictTypeRequest);
|
Page<SysDictType> page = this.page(PageFactory.defaultPage(), this.createWrapper(dictTypeRequest));
|
||||||
Page<SysDictType> page = this.page(PageFactory.defaultPage(), queryWrapper);
|
|
||||||
return PageResultFactory.createPageResult(page);
|
return PageResultFactory.createPageResult(page);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean validateCodeAvailable(DictTypeRequest dictTypeRequest) {
|
|
||||||
|
|
||||||
LambdaQueryWrapper<SysDictType> wrapper = new LambdaQueryWrapper<>();
|
|
||||||
|
|
||||||
wrapper.eq(SysDictType::getDictTypeCode, dictTypeRequest.getDictTypeCode());
|
|
||||||
|
|
||||||
if (ObjectUtil.isNotEmpty(dictTypeRequest.getDictTypeId())) {
|
|
||||||
wrapper.and(i -> i.ne(SysDictType::getDictTypeId, dictTypeRequest.getDictTypeId()));
|
|
||||||
}
|
|
||||||
|
|
||||||
Integer selectCount = this.baseMapper.selectCount(wrapper);
|
|
||||||
return selectCount <= 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 校验dictTypeClass是否是系统字典,如果是系统字典只能超级管理员操作
|
* 校验dictTypeClass是否是系统字典,如果是系统字典只能超级管理员操作
|
||||||
|
@ -198,24 +145,21 @@ public class DictTypeServiceImpl extends ServiceImpl<DictTypeMapper, SysDictType
|
||||||
* @author fengshuonan
|
* @author fengshuonan
|
||||||
* @date 2021/1/24 22:03
|
* @date 2021/1/24 22:03
|
||||||
*/
|
*/
|
||||||
private LambdaQueryWrapper<SysDictType> createWrapper(DictTypeRequest translationRequest) {
|
private LambdaQueryWrapper<SysDictType> createWrapper(DictTypeRequest dictTypeRequest) {
|
||||||
LambdaQueryWrapper<SysDictType> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<SysDictType> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
|
||||||
// 查询未删除的
|
Long dictTypeId = dictTypeRequest.getDictTypeId();
|
||||||
queryWrapper.eq(SysDictType::getDelFlag, YesOrNotEnum.N.getCode());
|
String dictTypeCode = dictTypeRequest.getDictTypeCode();
|
||||||
|
String dictTypeName = dictTypeRequest.getDictTypeName();
|
||||||
if (ObjectUtil.isEmpty(translationRequest)) {
|
|
||||||
return queryWrapper;
|
|
||||||
}
|
|
||||||
|
|
||||||
Long dictTypeId = translationRequest.getDictTypeId();
|
|
||||||
String dictTypeCode = translationRequest.getDictTypeCode();
|
|
||||||
String dictTypeName = translationRequest.getDictTypeName();
|
|
||||||
|
|
||||||
|
// SQL拼接
|
||||||
queryWrapper.eq(ObjectUtil.isNotNull(dictTypeId), SysDictType::getDictTypeId, dictTypeId);
|
queryWrapper.eq(ObjectUtil.isNotNull(dictTypeId), SysDictType::getDictTypeId, dictTypeId);
|
||||||
queryWrapper.eq(ObjectUtil.isNotNull(dictTypeCode), SysDictType::getDictTypeCode, dictTypeCode);
|
queryWrapper.eq(ObjectUtil.isNotNull(dictTypeCode), SysDictType::getDictTypeCode, dictTypeCode);
|
||||||
queryWrapper.like(ObjectUtil.isNotNull(dictTypeName), SysDictType::getDictTypeName, dictTypeName);
|
queryWrapper.like(ObjectUtil.isNotNull(dictTypeName), SysDictType::getDictTypeName, dictTypeName);
|
||||||
|
|
||||||
|
// 查询未删除的
|
||||||
|
queryWrapper.eq(SysDictType::getDelFlag, YesOrNotEnum.N.getCode());
|
||||||
|
|
||||||
return queryWrapper;
|
return queryWrapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue