Merge remote-tracking branch 'base-version/main' into dev

This commit is contained in:
chenbowen
2025-10-15 18:10:33 +08:00
6 changed files with 29 additions and 1 deletions

View File

@@ -2,7 +2,9 @@ package com.zt.plat.module.system.api.dict;
import com.zt.plat.framework.common.biz.system.dict.DictDataCommonApi; import com.zt.plat.framework.common.biz.system.dict.DictDataCommonApi;
import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.module.system.api.dict.dto.DictDataDetailRespDTO; 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.DictDataSaveReqDTO;
import com.zt.plat.module.system.api.dict.dto.DictDataSimpleRespDTO; import com.zt.plat.module.system.api.dict.dto.DictDataSimpleRespDTO;
import com.zt.plat.module.system.enums.ApiConstants; import com.zt.plat.module.system.enums.ApiConstants;
@@ -43,6 +45,10 @@ public interface DictDataApi extends DictDataCommonApi {
@Operation(summary = "获得字典数据详情") @Operation(summary = "获得字典数据详情")
CommonResult<DictDataDetailRespDTO> getDictData(@RequestParam("id") Long id); CommonResult<DictDataDetailRespDTO> getDictData(@RequestParam("id") Long id);
@PostMapping(PREFIX + "/page")
@Operation(summary = "分页查询字典数据")
CommonResult<PageResult<DictDataDetailRespDTO>> getDictDataPage(@RequestBody DictDataPageReqDTO pageReqDTO);
@GetMapping(PREFIX + "/valid") @GetMapping(PREFIX + "/valid")
@Operation(summary = "校验字典数据们是否有效") @Operation(summary = "校验字典数据们是否有效")
@Parameters({ @Parameters({

View File

@@ -21,6 +21,9 @@ public class DictDataPageReqDTO extends PageParam {
@Schema(description = "字典类型,模糊匹配", example = "sys_common_sex") @Schema(description = "字典类型,模糊匹配", example = "sys_common_sex")
private String dictType; private String dictType;
@Schema(description = "字典值", example = "1")
private String value;
@Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1")
private Integer status; private Integer status;

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.biz.system.dict.dto.DictDataRespDTO;
import com.zt.plat.framework.common.enums.CommonStatusEnum; import com.zt.plat.framework.common.enums.CommonStatusEnum;
import com.zt.plat.framework.common.pojo.CommonResult; 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.framework.common.util.object.BeanUtils;
import com.zt.plat.module.system.api.dict.dto.DictDataDetailRespDTO; 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.DictDataSaveReqDTO;
import com.zt.plat.module.system.api.dict.dto.DictDataSimpleRespDTO; 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.controller.admin.dict.vo.data.DictDataSaveReqVO;
import com.zt.plat.module.system.dal.dataobject.dict.DictDataDO; import com.zt.plat.module.system.dal.dataobject.dict.DictDataDO;
import com.zt.plat.module.system.service.dict.DictDataService; 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)); 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 @Override
public CommonResult<Boolean> validateDictDataList(String dictType, Collection<String> values) { public CommonResult<Boolean> validateDictDataList(String dictType, Collection<String> values) {
dictDataService.validateDictDataList(dictType, values); dictDataService.validateDictDataList(dictType, values);

View File

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

View File

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

View File

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