feat: 添加字典列表接口

This commit is contained in:
Ray.Hao
2025-03-24 10:32:19 +08:00
parent b05adf6549
commit 03f383c6bb
7 changed files with 36 additions and 69 deletions

View File

@@ -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(

View File

@@ -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;
/**
* 字典 访问层
*

View File

@@ -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;
}
}

View File

@@ -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);
}

View File

@@ -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();
}
/**
* 新增字典
*