feat: 添加字典列表接口
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.youlai.boot.system.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
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.common.enums.LogModuleEnum;
|
||||
@@ -56,6 +57,14 @@ public class DictController {
|
||||
return PageResult.success(result);
|
||||
}
|
||||
|
||||
|
||||
@Operation(summary = "字典列表")
|
||||
@GetMapping
|
||||
public Result<List<Option<String>>> getDictList() {
|
||||
List<Option<String>> list = dictService.getDictList();
|
||||
return Result.success(list);
|
||||
}
|
||||
|
||||
@Operation(summary = "字典表单数据")
|
||||
@GetMapping("/{id}/form")
|
||||
public Result<DictForm> getDictForm(
|
||||
|
||||
@@ -2,15 +2,11 @@ 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.Dict;
|
||||
import com.youlai.boot.system.model.query.DictPageQuery;
|
||||
import com.youlai.boot.system.model.vo.DictPageVO;
|
||||
import com.youlai.boot.system.model.vo.DictVO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 字典 访问层
|
||||
*
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
package com.youlai.boot.system.model.vo;
|
||||
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 字典数据项分页VO
|
||||
*
|
||||
* @author Ray
|
||||
* @since 0.0.1
|
||||
*/
|
||||
@Schema(description = "字典数据分页对象")
|
||||
@Getter
|
||||
@Setter
|
||||
public class DictVO {
|
||||
|
||||
@Schema(description = "字典名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "字典编码")
|
||||
private String dictCode;
|
||||
|
||||
@Schema(description = "字典数据集合")
|
||||
private List<DictData> dictDataList;
|
||||
|
||||
@Schema(description = "字典数据")
|
||||
@Getter
|
||||
@Setter
|
||||
public static class DictData {
|
||||
|
||||
@Schema(description = "字典数据值")
|
||||
private String value;
|
||||
|
||||
@Schema(description = "字典数据标签")
|
||||
private String label;
|
||||
|
||||
@Schema(description = "标签类型")
|
||||
private String tagType;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2,12 +2,12 @@ package com.youlai.boot.system.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.youlai.boot.common.model.Option;
|
||||
import com.youlai.boot.system.model.entity.Dict;
|
||||
import com.youlai.boot.system.model.form.DictForm;
|
||||
import com.youlai.boot.system.model.query.DictPageQuery;
|
||||
import com.youlai.boot.system.model.vo.DictItemOptionVO;
|
||||
import com.youlai.boot.system.model.vo.DictPageVO;
|
||||
import com.youlai.boot.system.model.vo.DictVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -20,7 +20,7 @@ import java.util.List;
|
||||
public interface DictService extends IService<Dict> {
|
||||
|
||||
/**
|
||||
* 字典分页列表
|
||||
* 获取字典分页列表
|
||||
*
|
||||
* @param queryParams 分页查询对象
|
||||
* @return 字典分页列表
|
||||
@@ -28,7 +28,14 @@ public interface DictService extends IService<Dict> {
|
||||
Page<DictPageVO> getDictPage(DictPageQuery queryParams);
|
||||
|
||||
/**
|
||||
* 获取字典表单详情
|
||||
* 获取字典列表
|
||||
*
|
||||
* @return 字典列表
|
||||
*/
|
||||
List<Option<String>> getDictList();
|
||||
|
||||
/**
|
||||
* 获取字典表单数据
|
||||
*
|
||||
* @param id 字典ID
|
||||
* @return 字典表单
|
||||
@@ -66,4 +73,6 @@ public interface DictService extends IService<Dict> {
|
||||
* @return 字典项列表
|
||||
*/
|
||||
List<DictItemOptionVO> getDictItems(String dictCode);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.youlai.boot.common.exception.BusinessException;
|
||||
import com.youlai.boot.common.model.Option;
|
||||
import com.youlai.boot.system.converter.DictConverter;
|
||||
import com.youlai.boot.system.mapper.DictMapper;
|
||||
import com.youlai.boot.system.model.entity.Dict;
|
||||
@@ -49,6 +50,20 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, Dict> implements Di
|
||||
return this.baseMapper.getDictPage(new Page<>(pageNum, pageSize), queryParams);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取字典列表
|
||||
*
|
||||
* @return 字典列表
|
||||
*/
|
||||
@Override
|
||||
public List<Option<String>> getDictList() {
|
||||
return this.list(new LambdaQueryWrapper<Dict>().eq(Dict::getStatus, 1))
|
||||
.stream().map(item ->
|
||||
new Option<>(item.getDictCode(), item.getName()))
|
||||
.toList();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 新增字典
|
||||
*
|
||||
|
||||
@@ -28,19 +28,4 @@
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<!-- 根据字典编码获取字典数据列表 -->
|
||||
<select id="getDictDataList" resultType="com.youlai.boot.system.model.vo.DictVO$DictData">
|
||||
SELECT
|
||||
value,
|
||||
label,
|
||||
tag_type
|
||||
FROM
|
||||
sys_dict_item
|
||||
WHERE
|
||||
status = 1 AND dict_code = #{dictCode}
|
||||
ORDER BY
|
||||
sort ASC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -25,5 +25,4 @@
|
||||
ORDER BY
|
||||
t1.create_time DESC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user