mirror of https://gitee.com/stylefeng/roses
【7.6.0】【dict】整理dictApi相关的接口的实现逻辑
parent
8391a3edbf
commit
45e9bf7b18
|
@ -82,7 +82,7 @@ public class DictRequest extends BaseRequest {
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "字典类型id不能为空", groups = {add.class, edit.class, treeList.class})
|
@NotBlank(message = "字典类型id不能为空", groups = {add.class, edit.class, treeList.class})
|
||||||
@ChineseDescription("字典类型id")
|
@ChineseDescription("字典类型id")
|
||||||
private String dictTypeId;
|
private Long dictTypeId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字典简称
|
* 字典简称
|
||||||
|
|
|
@ -38,7 +38,6 @@ import cn.stylefeng.roses.kernel.dict.modular.service.DictTypeService;
|
||||||
import cn.stylefeng.roses.kernel.pinyin.api.PinYinApi;
|
import cn.stylefeng.roses.kernel.pinyin.api.PinYinApi;
|
||||||
import cn.stylefeng.roses.kernel.rule.constants.SymbolConstant;
|
import cn.stylefeng.roses.kernel.rule.constants.SymbolConstant;
|
||||||
import cn.stylefeng.roses.kernel.rule.constants.TreeConstants;
|
import cn.stylefeng.roses.kernel.rule.constants.TreeConstants;
|
||||||
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
|
||||||
import cn.stylefeng.roses.kernel.rule.pojo.dict.SimpleDict;
|
import cn.stylefeng.roses.kernel.rule.pojo.dict.SimpleDict;
|
||||||
import cn.stylefeng.roses.kernel.rule.tree.factory.DefaultTreeBuildFactory;
|
import cn.stylefeng.roses.kernel.rule.tree.factory.DefaultTreeBuildFactory;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
@ -128,9 +127,10 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, SysDict> implements
|
||||||
SysDict sysDict = this.querySysDict(dictRequest);
|
SysDict sysDict = this.querySysDict(dictRequest);
|
||||||
BeanUtil.copyProperties(dictRequest, sysDict);
|
BeanUtil.copyProperties(dictRequest, sysDict);
|
||||||
|
|
||||||
// 不能修改字典类型和编码
|
// 不能修改字典类型、编码和字典的上下级关系(上下级关系和顺序,通过更新字典树接口更方便)
|
||||||
sysDict.setDictTypeId(null);
|
sysDict.setDictTypeId(null);
|
||||||
sysDict.setDictCode(null);
|
sysDict.setDictCode(null);
|
||||||
|
sysDict.setDictParentId(null);
|
||||||
|
|
||||||
// 填充拼音
|
// 填充拼音
|
||||||
sysDict.setDictNamePinyin(pinYinApi.parseEveryPinyinFirstLetter(sysDict.getDictName()));
|
sysDict.setDictNamePinyin(pinYinApi.parseEveryPinyinFirstLetter(sysDict.getDictName()));
|
||||||
|
@ -167,11 +167,15 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, SysDict> implements
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getDictName(String dictTypeCode, String dictCode) {
|
public String getDictName(String dictTypeCode, String dictCode) {
|
||||||
LambdaQueryWrapper<SysDict> sysDictLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
||||||
sysDictLambdaQueryWrapper.eq(SysDict::getDictTypeId, dictTypeCode);
|
|
||||||
sysDictLambdaQueryWrapper.eq(SysDict::getDictCode, dictCode);
|
|
||||||
sysDictLambdaQueryWrapper.ne(SysDict::getDelFlag, YesOrNotEnum.Y.getCode());
|
|
||||||
|
|
||||||
|
// 获取字典类型编码对应的字典类型id
|
||||||
|
Long dictTypeId = dictTypeService.getDictTypeIdByDictTypeCode(dictTypeCode);
|
||||||
|
|
||||||
|
// 查询字典类型下有哪些字典
|
||||||
|
LambdaQueryWrapper<SysDict> sysDictLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
sysDictLambdaQueryWrapper.eq(SysDict::getDictTypeId, dictTypeId);
|
||||||
|
sysDictLambdaQueryWrapper.eq(SysDict::getDictCode, dictCode);
|
||||||
|
sysDictLambdaQueryWrapper.select(SysDict::getDictName);
|
||||||
List<SysDict> list = this.list(sysDictLambdaQueryWrapper);
|
List<SysDict> list = this.list(sysDictLambdaQueryWrapper);
|
||||||
|
|
||||||
// 如果查询不到字典,则返回空串
|
// 如果查询不到字典,则返回空串
|
||||||
|
@ -190,13 +194,26 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, SysDict> implements
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SimpleDict> getDictDetailsByDictTypeCode(String dictTypeCode) {
|
public List<SimpleDict> getDictDetailsByDictTypeCode(String dictTypeCode) {
|
||||||
|
|
||||||
|
// 获取字典类型编码对应的字典类型id
|
||||||
|
Long dictTypeId = dictTypeService.getDictTypeIdByDictTypeCode(dictTypeCode);
|
||||||
|
|
||||||
|
if (dictTypeId == null) {
|
||||||
|
return new ArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询字典的列表
|
||||||
DictRequest dictRequest = new DictRequest();
|
DictRequest dictRequest = new DictRequest();
|
||||||
dictRequest.setDictTypeId(dictTypeCode);
|
dictRequest.setDictTypeId(dictTypeId);
|
||||||
LambdaQueryWrapper<SysDict> wrapper = createWrapper(dictRequest);
|
LambdaQueryWrapper<SysDict> wrapper = this.createWrapper(dictRequest);
|
||||||
|
wrapper.select(SysDict::getDictId, SysDict::getDictName, SysDict::getDictCode);
|
||||||
List<SysDict> dictList = this.list(wrapper);
|
List<SysDict> dictList = this.list(wrapper);
|
||||||
|
|
||||||
if (dictList.isEmpty()) {
|
if (dictList.isEmpty()) {
|
||||||
return new ArrayList<>();
|
return new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 转化成响应结果
|
||||||
ArrayList<SimpleDict> simpleDictList = new ArrayList<>();
|
ArrayList<SimpleDict> simpleDictList = new ArrayList<>();
|
||||||
for (SysDict sysDict : dictList) {
|
for (SysDict sysDict : dictList) {
|
||||||
SimpleDict simpleDict = new SimpleDict();
|
SimpleDict simpleDict = new SimpleDict();
|
||||||
|
@ -204,6 +221,7 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, SysDict> implements
|
||||||
simpleDict.setName(sysDict.getDictName());
|
simpleDict.setName(sysDict.getDictName());
|
||||||
simpleDictList.add(simpleDict);
|
simpleDictList.add(simpleDict);
|
||||||
}
|
}
|
||||||
|
|
||||||
return simpleDictList;
|
return simpleDictList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -214,7 +232,15 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, SysDict> implements
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getDictNameByDictId(Long dictId) {
|
public String getDictNameByDictId(Long dictId) {
|
||||||
SysDict sysDict = this.getById(dictId);
|
if (dictId == null) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
LambdaQueryWrapper<SysDict> sysDictLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
sysDictLambdaQueryWrapper.eq(SysDict::getDictId, dictId);
|
||||||
|
sysDictLambdaQueryWrapper.select(SysDict::getDictName);
|
||||||
|
SysDict sysDict = this.getOne(sysDictLambdaQueryWrapper, false);
|
||||||
|
|
||||||
if (sysDict == null) {
|
if (sysDict == null) {
|
||||||
return "";
|
return "";
|
||||||
} else {
|
} else {
|
||||||
|
@ -254,7 +280,7 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, SysDict> implements
|
||||||
}
|
}
|
||||||
|
|
||||||
// 根据字典类型id查询字典
|
// 根据字典类型id查询字典
|
||||||
queryWrapper.eq(StrUtil.isNotBlank(dictRequest.getDictTypeId()), SysDict::getDictTypeId, dictRequest.getDictTypeId());
|
queryWrapper.eq(ObjectUtil.isNotEmpty(dictRequest.getDictTypeId()), SysDict::getDictTypeId, dictRequest.getDictTypeId());
|
||||||
|
|
||||||
// 根据字典类型编码查询
|
// 根据字典类型编码查询
|
||||||
if (StrUtil.isNotBlank(dictRequest.getDictTypeCode())) {
|
if (StrUtil.isNotBlank(dictRequest.getDictTypeCode())) {
|
||||||
|
@ -269,6 +295,9 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, SysDict> implements
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 排序
|
||||||
|
queryWrapper.orderByAsc(SysDict::getDictSort);
|
||||||
|
|
||||||
return queryWrapper;
|
return queryWrapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue