wip: 字典重构临时提交
This commit is contained in:
@@ -8,7 +8,7 @@ import com.youlai.boot.common.model.Option;
|
||||
import com.youlai.boot.common.result.PageResult;
|
||||
import com.youlai.boot.common.result.Result;
|
||||
import com.youlai.boot.system.model.form.DictDataForm;
|
||||
import com.youlai.boot.system.model.query.DictPageQuery;
|
||||
import com.youlai.boot.system.model.query.DictDataPageQuery;
|
||||
import com.youlai.boot.system.model.vo.DictDataPageVO;
|
||||
import com.youlai.boot.system.service.DictDataService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
@@ -39,7 +39,7 @@ public class DictDataController {
|
||||
@GetMapping("/page")
|
||||
@Log( value = "字典数据分页列表",module = LogModuleEnum.DICT)
|
||||
public PageResult<DictDataPageVO> getDictDataPage(
|
||||
DictPageQuery queryParams
|
||||
DictDataPageQuery queryParams
|
||||
) {
|
||||
Page<DictDataPageVO> result = dictDataService.getDictDataPage(queryParams);
|
||||
return PageResult.success(result);
|
||||
@@ -86,10 +86,10 @@ public class DictDataController {
|
||||
|
||||
@Operation(summary = "字典数据列表")
|
||||
@GetMapping("/{dictCode}/options")
|
||||
public Result<List<Option>> getDictDataList(
|
||||
public Result<List<Option<String>>> getDictDataList(
|
||||
@Parameter(description = "字典编码") @PathVariable String dictCode
|
||||
) {
|
||||
List<Option> options = dictDataService.getDictDataList(dictCode);
|
||||
List<Option<String>> options = dictDataService.getDictDataList(dictCode);
|
||||
return Result.success(options);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,9 @@ package com.youlai.boot.system.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.youlai.boot.common.model.Option;
|
||||
import com.youlai.boot.system.model.entity.DictData;
|
||||
import com.youlai.boot.system.model.query.DictDataPageQuery;
|
||||
import com.youlai.boot.system.model.query.DictPageQuery;
|
||||
import com.youlai.boot.system.model.vo.DictDataPageVO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
@@ -16,7 +18,15 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
@Mapper
|
||||
public interface DictDataMapper extends BaseMapper<DictData> {
|
||||
|
||||
Page<DictDataPageVO> getDictDataPage(Page<DictDataPageVO> page, DictPageQuery queryParams);
|
||||
/**
|
||||
* 字典数据分页列表
|
||||
*/
|
||||
Page<DictDataPageVO> getDictDataPage(Page<DictDataPageVO> page, DictDataPageQuery queryParams);
|
||||
|
||||
/**
|
||||
* 根据字典编码获取字典数据列表
|
||||
*/
|
||||
Option listDictDataByDictCode(String dictCode);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ public class Dict extends BaseEntity {
|
||||
/**
|
||||
* 字典编码
|
||||
*/
|
||||
private String code;
|
||||
private String dictCode;
|
||||
|
||||
/**
|
||||
* 字典名称
|
||||
|
||||
@@ -23,7 +23,7 @@ public class DictForm {
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "字典名称",example = "性别")
|
||||
private String dictName;
|
||||
private String name;
|
||||
|
||||
@Schema(description = "字典编码", example ="gender")
|
||||
private String dictCode;
|
||||
@@ -32,5 +32,4 @@ public class DictForm {
|
||||
@Range(min = 0, max = 1, message = "字典状态不正确")
|
||||
private Integer status;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -23,12 +23,12 @@ public class DictDataPageVO {
|
||||
@Schema(description = "字典编码")
|
||||
private String dictCode;
|
||||
|
||||
@Schema(description = "字典数据值")
|
||||
private String value;
|
||||
|
||||
@Schema(description = "字典数据标签")
|
||||
@Schema(description = "字典标签")
|
||||
private String label;
|
||||
|
||||
@Schema(description = "字典值")
|
||||
private String value;
|
||||
|
||||
@Schema(description = "排序")
|
||||
private Integer sort;
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ public class DictPageVO {
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "字典名称")
|
||||
private String dictName;
|
||||
private String name;
|
||||
|
||||
@Schema(description = "字典编码")
|
||||
private String dictCode;
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.youlai.boot.common.model.Option;
|
||||
import com.youlai.boot.system.model.entity.DictData;
|
||||
import com.youlai.boot.system.model.form.DictDataForm;
|
||||
import com.youlai.boot.system.model.form.DictForm;
|
||||
import com.youlai.boot.system.model.query.DictDataPageQuery;
|
||||
import com.youlai.boot.system.model.query.DictPageQuery;
|
||||
import com.youlai.boot.system.model.vo.DictDataPageVO;
|
||||
|
||||
@@ -25,7 +26,7 @@ public interface DictDataService extends IService<DictData> {
|
||||
* @param queryParams
|
||||
* @return
|
||||
*/
|
||||
Page<DictDataPageVO> getDictDataPage(DictPageQuery queryParams);
|
||||
Page<DictDataPageVO> getDictDataPage(DictDataPageQuery queryParams);
|
||||
|
||||
/**
|
||||
* 获取字典数据表单
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.youlai.boot.system.converter.DictDataConverter;
|
||||
import com.youlai.boot.system.mapper.DictDataMapper;
|
||||
import com.youlai.boot.system.model.entity.DictData;
|
||||
import com.youlai.boot.system.model.form.DictDataForm;
|
||||
import com.youlai.boot.system.model.query.DictDataPageQuery;
|
||||
import com.youlai.boot.system.model.query.DictPageQuery;
|
||||
import com.youlai.boot.system.model.vo.DictDataPageVO;
|
||||
import com.youlai.boot.system.service.DictDataService;
|
||||
@@ -36,7 +37,7 @@ public class DictDataServiceImpl extends ServiceImpl<DictDataMapper, DictData> i
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Page<DictDataPageVO> getDictDataPage(DictPageQuery queryParams) {
|
||||
public Page<DictDataPageVO> getDictDataPage(DictDataPageQuery queryParams) {
|
||||
int pageNum = queryParams.getPageNum();
|
||||
int pageSize = queryParams.getPageSize();
|
||||
Page<DictDataPageVO> page = new Page<>(pageNum, pageSize);
|
||||
|
||||
@@ -23,7 +23,6 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 数据字典业务实现类
|
||||
@@ -65,10 +64,10 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, Dict> implements Di
|
||||
Dict entity = dictConverter.toEntity(dictForm);
|
||||
|
||||
// 校验 code 是否唯一
|
||||
String dictCode = entity.getCode();
|
||||
String dictCode = entity.getDictCode();
|
||||
|
||||
long count = this.count(new LambdaQueryWrapper<Dict>()
|
||||
.eq(Dict::getCode, dictCode)
|
||||
.eq(Dict::getDictCode, dictCode)
|
||||
);
|
||||
Assert.isTrue(count == 0, "字典编码已存在");
|
||||
|
||||
@@ -103,9 +102,9 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, Dict> implements Di
|
||||
Dict entity = dictConverter.toEntity(dictForm);
|
||||
|
||||
// 校验 code 是否唯一
|
||||
String dictCode = entity.getCode();
|
||||
String dictCode = entity.getDictCode();
|
||||
long count = this.count(new LambdaQueryWrapper<Dict>()
|
||||
.eq(Dict::getCode, dictCode)
|
||||
.eq(Dict::getDictCode, dictCode)
|
||||
.ne(Dict::getId, id)
|
||||
);
|
||||
if(count>0){
|
||||
@@ -137,7 +136,7 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, Dict> implements Di
|
||||
if (removeResult) {
|
||||
dictDataService.remove(
|
||||
new LambdaQueryWrapper<DictData>()
|
||||
.eq(DictData::getDictCode, dict.getCode())
|
||||
.eq(DictData::getDictCode, dict.getDictCode())
|
||||
);
|
||||
}
|
||||
|
||||
@@ -154,7 +153,7 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, Dict> implements Di
|
||||
public List<Option<Long>> listDictItemsByCode(String code) {
|
||||
// 根据字典编码获取字典ID
|
||||
Dict dict = this.getOne(new LambdaQueryWrapper<Dict>()
|
||||
.eq(Dict::getCode, code)
|
||||
.eq(Dict::getDictCode, code)
|
||||
.select(Dict::getId)
|
||||
.last("limit 1")
|
||||
);
|
||||
@@ -166,7 +165,7 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, Dict> implements Di
|
||||
// 获取字典项
|
||||
List<DictData> dictData = dictDataService.list(
|
||||
new LambdaQueryWrapper<DictData>()
|
||||
.eq(DictData::getDictCode, dict.getCode())
|
||||
.eq(DictData::getDictCode, dict.getDictCode())
|
||||
);
|
||||
|
||||
// 转换为 Option
|
||||
@@ -180,9 +179,9 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, Dict> implements Di
|
||||
public List<Option<String>> getDictList() {
|
||||
return this.list(new LambdaQueryWrapper<Dict>()
|
||||
.eq(Dict::getStatus, 1)
|
||||
.select(Dict::getName, Dict::getCode)
|
||||
.select(Dict::getName, Dict::getDictCode)
|
||||
).stream()
|
||||
.map(dict -> new Option<>(dict.getCode(), dict.getName()))
|
||||
.map(dict -> new Option<>(dict.getDictCode(), dict.getName()))
|
||||
.toList();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user