1.新增 dept 分页 feignApi

This commit is contained in:
chenbowen
2025-10-15 11:59:26 +08:00
parent 89d99215d4
commit 957c87bef6
6 changed files with 29 additions and 1 deletions

View File

@@ -3,10 +3,13 @@ package com.zt.plat.module.system.api.dict;
import com.zt.plat.framework.common.biz.system.dict.dto.DictDataRespDTO;
import com.zt.plat.framework.common.enums.CommonStatusEnum;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.module.system.api.dict.dto.DictDataDetailRespDTO;
import com.zt.plat.module.system.api.dict.dto.DictDataPageReqDTO;
import com.zt.plat.module.system.api.dict.dto.DictDataSaveReqDTO;
import com.zt.plat.module.system.api.dict.dto.DictDataSimpleRespDTO;
import com.zt.plat.module.system.controller.admin.dict.vo.data.DictDataPageReqVO;
import com.zt.plat.module.system.controller.admin.dict.vo.data.DictDataSaveReqVO;
import com.zt.plat.module.system.dal.dataobject.dict.DictDataDO;
import com.zt.plat.module.system.service.dict.DictDataService;
@@ -61,6 +64,13 @@ public class DictDataApiImpl implements DictDataApi {
return success(BeanUtils.toBean(dictData, DictDataDetailRespDTO.class));
}
@Override
public CommonResult<PageResult<DictDataDetailRespDTO>> getDictDataPage(DictDataPageReqDTO pageReqDTO) {
DictDataPageReqVO pageReqVO = BeanUtils.toBean(pageReqDTO, DictDataPageReqVO.class);
PageResult<DictDataDO> pageResult = dictDataService.getDictDataPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, DictDataDetailRespDTO.class));
}
@Override
public CommonResult<Boolean> validateDictDataList(String dictType, Collection<String> values) {
dictDataService.validateDictDataList(dictType, values);

View File

@@ -21,6 +21,10 @@ public class DictDataPageReqVO extends PageParam {
@Size(max = 100, message = "字典类型类型长度不能超过100个字符")
private String dictType;
@Schema(description = "字典键值", example = "1")
@Size(max = 100, message = "字典键值长度不能超过100个字符")
private String value;
@Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1")
@InEnum(value = CommonStatusEnum.class, message = "修改状态必须是 {value}")
private Integer status;

View File

@@ -1,11 +1,11 @@
package com.zt.plat.module.system.dal.mysql.dict;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.module.system.controller.admin.dict.vo.data.DictDataPageReqVO;
import com.zt.plat.module.system.dal.dataobject.dict.DictDataDO;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.Arrays;
@@ -35,6 +35,7 @@ public interface DictDataMapper extends BaseMapperX<DictDataDO> {
default PageResult<DictDataDO> selectPage(DictDataPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<DictDataDO>()
.likeIfPresent(DictDataDO::getLabel, reqVO.getLabel())
.eqIfPresent(DictDataDO::getValue, reqVO.getValue())
.eqIfPresent(DictDataDO::getDictType, reqVO.getDictType())
.eqIfPresent(DictDataDO::getStatus, reqVO.getStatus())
.orderByDesc(Arrays.asList(DictDataDO::getDictType, DictDataDO::getSort)));

View File

@@ -72,6 +72,7 @@ public class DictDataServiceImplTest extends BaseDbUnitTest {
o.setLabel("芋艿");
o.setDictType("yunai");
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
o.setValue("testValue");
});
dictDataMapper.insert(dbDictData);
// 测试 label 不匹配
@@ -80,11 +81,14 @@ public class DictDataServiceImplTest extends BaseDbUnitTest {
dictDataMapper.insert(cloneIgnoreId(dbDictData, o -> o.setDictType("nai")));
// 测试 status 不匹配
dictDataMapper.insert(cloneIgnoreId(dbDictData, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
// 测试 value 不匹配
dictDataMapper.insert(cloneIgnoreId(dbDictData, o -> o.setValue("otherValue")));
// 准备参数
DictDataPageReqVO reqVO = new DictDataPageReqVO();
reqVO.setLabel("");
reqVO.setDictType("yunai");
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
reqVO.setValue("testValue");
// 调用
PageResult<DictDataDO> pageResult = dictDataService.getDictDataPage(reqVO);