diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/ConfigController.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/ConfigController.java
index f9a6a8e9e..bbfea5ecd 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/ConfigController.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/ConfigController.java
@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.infra.controller.admin.config;
 
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
 import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
@@ -38,15 +39,15 @@ public class ConfigController {
     @PostMapping("/create")
     @Operation(summary = "创建参数配置")
     @PreAuthorize("@ss.hasPermission('infra:config:create')")
-    public CommonResult<Long> createConfig(@Valid @RequestBody ConfigCreateReqVO reqVO) {
-        return success(configService.createConfig(reqVO));
+    public CommonResult<Long> createConfig(@Valid @RequestBody ConfigSaveReqVO createReqVO) {
+        return success(configService.createConfig(createReqVO));
     }
 
     @PutMapping("/update")
     @Operation(summary = "修改参数配置")
     @PreAuthorize("@ss.hasPermission('infra:config:update')")
-    public CommonResult<Boolean> updateConfig(@Valid @RequestBody ConfigUpdateReqVO reqVO) {
-        configService.updateConfig(reqVO);
+    public CommonResult<Boolean> updateConfig(@Valid @RequestBody ConfigSaveReqVO updateReqVO) {
+        configService.updateConfig(updateReqVO);
         return success(true);
     }
 
@@ -84,8 +85,8 @@ public class ConfigController {
     @GetMapping("/page")
     @Operation(summary = "获取参数配置分页")
     @PreAuthorize("@ss.hasPermission('infra:config:query')")
-    public CommonResult<PageResult<ConfigRespVO>> getConfigPage(@Valid ConfigPageReqVO reqVO) {
-        PageResult<ConfigDO> page = configService.getConfigPage(reqVO);
+    public CommonResult<PageResult<ConfigRespVO>> getConfigPage(@Valid ConfigPageReqVO pageReqVO) {
+        PageResult<ConfigDO> page = configService.getConfigPage(pageReqVO);
         return success(ConfigConvert.INSTANCE.convertPage(page));
     }
 
@@ -93,13 +94,13 @@ public class ConfigController {
     @Operation(summary = "导出参数配置")
     @PreAuthorize("@ss.hasPermission('infra:config:export')")
     @OperateLog(type = EXPORT)
-    public void exportConfig(@Valid ConfigExportReqVO reqVO,
+    public void exportConfig(@Valid ConfigPageReqVO exportReqVO,
                              HttpServletResponse response) throws IOException {
-        List<ConfigDO> list = configService.getConfigList(reqVO);
-        // 拼接数据
-        List<ConfigExcelVO> datas = ConfigConvert.INSTANCE.convertList(list);
+        exportReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<ConfigDO> list = configService.getConfigPage(exportReqVO).getList();
         // 输出
-        ExcelUtils.write(response, "参数配置.xls", "数据", ConfigExcelVO.class, datas);
+        ExcelUtils.write(response, "参数配置.xls", "数据", ConfigRespVO.class,
+                ConfigConvert.INSTANCE.convertList(list));
     }
 
 }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigCreateReqVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigCreateReqVO.java
deleted file mode 100644
index ebbdf67fc..000000000
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigCreateReqVO.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package cn.iocoder.yudao.module.infra.controller.admin.config.vo;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.Size;
-
-@Schema(description = "管理后台 - 参数配置创建 Request VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-public class ConfigCreateReqVO extends ConfigBaseVO {
-
-    @Schema(description = "参数键名", requiredMode = Schema.RequiredMode.REQUIRED, example = "yunai.db.username")
-    @NotBlank(message = "参数键名长度不能为空")
-    @Size(max = 100, message = "参数键名长度不能超过100个字符")
-    private String key;
-
-}
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigExcelVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigExcelVO.java
deleted file mode 100644
index 12611032a..000000000
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigExcelVO.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package cn.iocoder.yudao.module.infra.controller.admin.config.vo;
-
-import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
-import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
-import cn.iocoder.yudao.module.infra.enums.DictTypeConstants;
-import com.alibaba.excel.annotation.ExcelProperty;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-/**
- * 参数配置 Excel 导出响应 VO
- */
-@Data
-public class ConfigExcelVO {
-
-    @ExcelProperty("参数配置序号")
-    private Long id;
-
-    @ExcelProperty("参数键名")
-    private String configKey;
-
-    @ExcelProperty("参数分类")
-    private String category;
-
-    @ExcelProperty("参数名称")
-    private String name;
-
-    @ExcelProperty("参数键值")
-    private String value;
-
-    @ExcelProperty(value = "参数类型", converter = DictConvert.class)
-    @DictFormat(DictTypeConstants.CONFIG_TYPE)
-    private Integer type;
-
-    @ExcelProperty(value = "是否可见", converter = DictConvert.class)
-    @DictFormat(DictTypeConstants.BOOLEAN_STRING)
-    private Boolean visible;
-
-    @ExcelProperty("备注")
-    private String remark;
-
-    @ExcelProperty("创建时间")
-    private LocalDateTime createTime;
-
-}
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigExportReqVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigExportReqVO.java
deleted file mode 100644
index 78d289a5b..000000000
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigExportReqVO.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package cn.iocoder.yudao.module.infra.controller.admin.config.vo;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.time.LocalDateTime;
-
-import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
-
-@Schema(description = "管理后台 - 参数配置导出 Request VO")
-@Data
-public class ConfigExportReqVO {
-
-    @Schema(description = "参数名称", example = "模糊匹配")
-    private String name;
-
-    @Schema(description = "参数键名,模糊匹配", example = "yunai.db.username")
-    private String key;
-
-    @Schema(description = "参数类型,参见 SysConfigTypeEnum 枚举", example = "1")
-    private Integer type;
-
-    @Schema(description = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]")
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    private LocalDateTime[] createTime;
-
-}
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigRespVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigRespVO.java
index 8c3d51e7e..b4f642f69 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigRespVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigRespVO.java
@@ -1,30 +1,56 @@
 package cn.iocoder.yudao.module.infra.controller.admin.config.vo;
 
+import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
+import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
+import cn.iocoder.yudao.module.infra.enums.DictTypeConstants;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
 
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.Size;
 import java.time.LocalDateTime;
 
 @Schema(description = "管理后台 - 参数配置信息 Response VO")
 @Data
-@EqualsAndHashCode(callSuper = true)
-public class ConfigRespVO extends ConfigBaseVO {
+@ExcelIgnoreUnannotated
+public class ConfigRespVO {
 
     @Schema(description = "参数配置序号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
+    @ExcelProperty("参数配置序号")
     private Long id;
 
+    @Schema(description = "参数分类", requiredMode = Schema.RequiredMode.REQUIRED, example = "biz")
+    @ExcelProperty("参数分类")
+    private String category;
+
+    @Schema(description = "参数名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据库名")
+    @ExcelProperty("参数名称")
+    private String name;
+
     @Schema(description = "参数键名", requiredMode = Schema.RequiredMode.REQUIRED, example = "yunai.db.username")
-    @NotBlank(message = "参数键名长度不能为空")
-    @Size(max = 100, message = "参数键名长度不能超过100个字符")
+    @ExcelProperty("参数键名")
     private String key;
 
+    @Schema(description = "参数键值", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
+    @ExcelProperty("参数键值")
+    private String value;
+
     @Schema(description = "参数类型,参见 SysConfigTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
+    @ExcelProperty(value = "参数类型", converter = DictConvert.class)
+    @DictFormat(DictTypeConstants.CONFIG_TYPE)
     private Integer type;
 
+    @Schema(description = "是否可见", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
+    @ExcelProperty(value = "是否可见", converter = DictConvert.class)
+    @DictFormat(DictTypeConstants.BOOLEAN_STRING)
+    private Boolean visible;
+
+    @Schema(description = "备注", example = "备注一下很帅气!")
+    @ExcelProperty("备注")
+    private String remark;
+
     @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式")
+    @ExcelProperty("创建时间")
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigBaseVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigSaveReqVO.java
similarity index 63%
rename from yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigBaseVO.java
rename to yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigSaveReqVO.java
index acd3beee6..59aaa4848 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigBaseVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigSaveReqVO.java
@@ -8,26 +8,31 @@ import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.Size;
 
-/**
- * 参数配置 Base VO,提供给添加、修改、详细的子 VO 使用
- * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
- */
+@Schema(description = "管理后台 - 参数配置创建/修改 Request VO")
 @Data
-public class ConfigBaseVO {
+public class ConfigSaveReqVO {
+
+    @Schema(description = "参数配置序号", example = "1024")
+    private Long id;
 
     @Schema(description = "参数分组", requiredMode = Schema.RequiredMode.REQUIRED, example = "biz")
     @NotEmpty(message = "参数分组不能为空")
-    @Size(max = 50, message = "参数名称不能超过50个字符")
+    @Size(max = 50, message = "参数名称不能超过 50 个字符")
     private String category;
 
     @Schema(description = "参数名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据库名")
     @NotBlank(message = "参数名称不能为空")
-    @Size(max = 100, message = "参数名称不能超过100个字符")
+    @Size(max = 100, message = "参数名称不能超过 100 个字符")
     private String name;
 
+    @Schema(description = "参数键名", requiredMode = Schema.RequiredMode.REQUIRED, example = "yunai.db.username")
+    @NotBlank(message = "参数键名长度不能为空")
+    @Size(max = 100, message = "参数键名长度不能超过 100 个字符")
+    private String key;
+
     @Schema(description = "参数键值", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotBlank(message = "参数键值不能为空")
-    @Size(max = 500, message = "参数键值长度不能超过500个字符")
+    @Size(max = 500, message = "参数键值长度不能超过 500 个字符")
     private String value;
 
     @Schema(description = "是否可见", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigUpdateReqVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigUpdateReqVO.java
deleted file mode 100644
index b2497b1cd..000000000
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigUpdateReqVO.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package cn.iocoder.yudao.module.infra.controller.admin.config.vo;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-import javax.validation.constraints.NotNull;
-
-@Schema(description = "管理后台 - 参数配置创建 Request VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class ConfigUpdateReqVO extends ConfigBaseVO {
-
-    @Schema(description = "参数配置序号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
-    @NotNull(message = "参数配置编号不能为空")
-    private Long id;
-
-}
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/convert/config/ConfigConvert.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/convert/config/ConfigConvert.java
index 94bcc0eae..92094b0a9 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/convert/config/ConfigConvert.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/convert/config/ConfigConvert.java
@@ -1,10 +1,8 @@
 package cn.iocoder.yudao.module.infra.convert.config;
 
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigCreateReqVO;
-import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigExcelVO;
 import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigRespVO;
-import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigUpdateReqVO;
+import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigSaveReqVO;
 import cn.iocoder.yudao.module.infra.dal.dataobject.config.ConfigDO;
 import org.mapstruct.Mapper;
 import org.mapstruct.Mapping;
@@ -19,15 +17,12 @@ public interface ConfigConvert {
 
     PageResult<ConfigRespVO> convertPage(PageResult<ConfigDO> page);
 
+    List<ConfigRespVO> convertList(List<ConfigDO> list);
+
     @Mapping(source = "configKey", target = "key")
     ConfigRespVO convert(ConfigDO bean);
 
     @Mapping(source = "key", target = "configKey")
-    ConfigDO convert(ConfigCreateReqVO bean);
-
-    ConfigDO convert(ConfigUpdateReqVO bean);
-
-    @Mapping(source = "configKey", target = "key")
-    List<ConfigExcelVO> convertList(List<ConfigDO> list);
+    ConfigDO convert(ConfigSaveReqVO bean);
 
 }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/mysql/config/ConfigMapper.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/mysql/config/ConfigMapper.java
index 49eea5517..466403c6e 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/mysql/config/ConfigMapper.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/mysql/config/ConfigMapper.java
@@ -3,13 +3,10 @@ package cn.iocoder.yudao.module.infra.dal.mysql.config;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
-import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigExportReqVO;
 import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigPageReqVO;
 import cn.iocoder.yudao.module.infra.dal.dataobject.config.ConfigDO;
 import org.apache.ibatis.annotations.Mapper;
 
-import java.util.List;
-
 @Mapper
 public interface ConfigMapper extends BaseMapperX<ConfigDO> {
 
@@ -25,12 +22,4 @@ public interface ConfigMapper extends BaseMapperX<ConfigDO> {
                 .betweenIfPresent(ConfigDO::getCreateTime, reqVO.getCreateTime()));
     }
 
-    default List<ConfigDO> selectList(ConfigExportReqVO reqVO) {
-        return selectList(new LambdaQueryWrapperX<ConfigDO>()
-                .likeIfPresent(ConfigDO::getName, reqVO.getName())
-                .likeIfPresent(ConfigDO::getConfigKey, reqVO.getKey())
-                .eqIfPresent(ConfigDO::getType, reqVO.getType())
-                .betweenIfPresent(ConfigDO::getCreateTime, reqVO.getCreateTime()));
-    }
-
 }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/config/ConfigService.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/config/ConfigService.java
index abd82e54a..a6979023f 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/config/ConfigService.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/config/ConfigService.java
@@ -1,14 +1,11 @@
 package cn.iocoder.yudao.module.infra.service.config;
 
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigCreateReqVO;
-import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigExportReqVO;
 import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigPageReqVO;
-import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigUpdateReqVO;
+import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigSaveReqVO;
 import cn.iocoder.yudao.module.infra.dal.dataobject.config.ConfigDO;
 
 import javax.validation.Valid;
-import java.util.List;
 
 /**
  * 参数配置 Service 接口
@@ -20,17 +17,17 @@ public interface ConfigService {
     /**
      * 创建参数配置
      *
-     * @param reqVO 创建信息
+     * @param createReqVO 创建信息
      * @return 配置编号
      */
-    Long createConfig(@Valid ConfigCreateReqVO reqVO);
+    Long createConfig(@Valid ConfigSaveReqVO createReqVO);
 
     /**
      * 更新参数配置
      *
-     * @param reqVO 更新信息
+     * @param updateReqVO 更新信息
      */
-    void updateConfig(@Valid ConfigUpdateReqVO reqVO);
+    void updateConfig(@Valid ConfigSaveReqVO updateReqVO);
 
     /**
      * 删除参数配置
@@ -63,13 +60,4 @@ public interface ConfigService {
      */
     PageResult<ConfigDO> getConfigPage(@Valid ConfigPageReqVO reqVO);
 
-    /**
-     * 获得参数配置列表
-     *
-     * @param reqVO 列表
-     * @return 列表
-     */
-    List<ConfigDO> getConfigList(@Valid ConfigExportReqVO reqVO);
-
-
 }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/config/ConfigServiceImpl.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/config/ConfigServiceImpl.java
index 51c912be7..6d14ad9fc 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/config/ConfigServiceImpl.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/config/ConfigServiceImpl.java
@@ -1,11 +1,8 @@
 package cn.iocoder.yudao.module.infra.service.config;
 
-import cn.hutool.core.util.StrUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigCreateReqVO;
-import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigExportReqVO;
 import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigPageReqVO;
-import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigUpdateReqVO;
+import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigSaveReqVO;
 import cn.iocoder.yudao.module.infra.convert.config.ConfigConvert;
 import cn.iocoder.yudao.module.infra.dal.dataobject.config.ConfigDO;
 import cn.iocoder.yudao.module.infra.dal.mysql.config.ConfigMapper;
@@ -16,7 +13,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
 import javax.annotation.Resource;
-import java.util.List;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.iocoder.yudao.module.infra.enums.ErrorCodeConstants.*;
@@ -33,22 +29,26 @@ public class ConfigServiceImpl implements ConfigService {
     private ConfigMapper configMapper;
 
     @Override
-    public Long createConfig(ConfigCreateReqVO reqVO) {
-        // 校验正确性
-        validateConfigForCreateOrUpdate(null, reqVO.getKey());
+    public Long createConfig(ConfigSaveReqVO createReqVO) {
+        // 校验参数配置 key 的唯一性
+        validateConfigKeyUnique(null, createReqVO.getKey());
+
         // 插入参数配置
-        ConfigDO config = ConfigConvert.INSTANCE.convert(reqVO);
+        ConfigDO config = ConfigConvert.INSTANCE.convert(createReqVO);
         config.setType(ConfigTypeEnum.CUSTOM.getType());
         configMapper.insert(config);
         return config.getId();
     }
 
     @Override
-    public void updateConfig(ConfigUpdateReqVO reqVO) {
-        // 校验正确性
-        validateConfigForCreateOrUpdate(reqVO.getId(), null); // 不允许更新 key
+    public void updateConfig(ConfigSaveReqVO updateReqVO) {
+        // 校验自己存在
+        validateConfigExists(updateReqVO.getId());
+        // 校验参数配置 key 的唯一性
+        validateConfigKeyUnique(updateReqVO.getId(), updateReqVO.getKey());
+
         // 更新参数配置
-        ConfigDO updateObj = ConfigConvert.INSTANCE.convert(reqVO);
+        ConfigDO updateObj = ConfigConvert.INSTANCE.convert(updateReqVO);
         configMapper.updateById(updateObj);
     }
 
@@ -75,22 +75,8 @@ public class ConfigServiceImpl implements ConfigService {
     }
 
     @Override
-    public PageResult<ConfigDO> getConfigPage(ConfigPageReqVO reqVO) {
-        return configMapper.selectPage(reqVO);
-    }
-
-    @Override
-    public List<ConfigDO> getConfigList(ConfigExportReqVO reqVO) {
-        return configMapper.selectList(reqVO);
-    }
-
-    private void validateConfigForCreateOrUpdate(Long id, String key) {
-        // 校验自己存在
-        validateConfigExists(id);
-        // 校验参数配置 key 的唯一性
-        if (StrUtil.isNotEmpty(key)) {
-            validateConfigKeyUnique(id, key);
-        }
+    public PageResult<ConfigDO> getConfigPage(ConfigPageReqVO pageReqVO) {
+        return configMapper.selectPage(pageReqVO);
     }
 
     @VisibleForTesting
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/test/java/cn/iocoder/yudao/module/infra/service/config/ConfigServiceImplTest.java b/yudao-module-infra/yudao-module-infra-biz/src/test/java/cn/iocoder/yudao/module/infra/service/config/ConfigServiceImplTest.java
index 428b20522..1c1f1f3e8 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/test/java/cn/iocoder/yudao/module/infra/service/config/ConfigServiceImplTest.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/test/java/cn/iocoder/yudao/module/infra/service/config/ConfigServiceImplTest.java
@@ -4,10 +4,8 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils;
 import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
 import cn.iocoder.yudao.framework.test.core.util.RandomUtils;
-import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigCreateReqVO;
-import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigExportReqVO;
 import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigPageReqVO;
-import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigUpdateReqVO;
+import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigSaveReqVO;
 import cn.iocoder.yudao.module.infra.dal.dataobject.config.ConfigDO;
 import cn.iocoder.yudao.module.infra.dal.mysql.config.ConfigMapper;
 import cn.iocoder.yudao.module.infra.enums.config.ConfigTypeEnum;
@@ -15,7 +13,6 @@ import org.junit.jupiter.api.Test;
 import org.springframework.context.annotation.Import;
 
 import javax.annotation.Resource;
-import java.util.List;
 import java.util.function.Consumer;
 
 import static cn.hutool.core.util.RandomUtil.randomEle;
@@ -40,7 +37,8 @@ public class ConfigServiceImplTest extends BaseDbUnitTest {
     @Test
     public void testCreateConfig_success() {
         // 准备参数
-        ConfigCreateReqVO reqVO = randomPojo(ConfigCreateReqVO.class);
+        ConfigSaveReqVO reqVO = randomPojo(ConfigSaveReqVO.class)
+                .setId(null); // 防止 id 被赋值,导致唯一性校验失败
 
         // 调用
         Long configId = configService.createConfig(reqVO);
@@ -48,7 +46,7 @@ public class ConfigServiceImplTest extends BaseDbUnitTest {
         assertNotNull(configId);
         // 校验记录的属性是否正确
         ConfigDO config = configMapper.selectById(configId);
-        assertPojoEquals(reqVO, config);
+        assertPojoEquals(reqVO, config, "id");
         assertEquals(ConfigTypeEnum.CUSTOM.getType(), config.getType());
     }
 
@@ -58,7 +56,7 @@ public class ConfigServiceImplTest extends BaseDbUnitTest {
         ConfigDO dbConfig = randomConfigDO();
         configMapper.insert(dbConfig);// @Sql: 先插入出一条存在的数据
         // 准备参数
-        ConfigUpdateReqVO reqVO = randomPojo(ConfigUpdateReqVO.class, o -> {
+        ConfigSaveReqVO reqVO = randomPojo(ConfigSaveReqVO.class, o -> {
             o.setId(dbConfig.getId()); // 设置更新的 ID
         });
 
@@ -178,38 +176,6 @@ public class ConfigServiceImplTest extends BaseDbUnitTest {
         assertPojoEquals(dbConfig, pageResult.getList().get(0));
     }
 
-    @Test
-    public void testGetConfigList() {
-        // mock 数据
-        ConfigDO dbConfig = randomConfigDO(o -> { // 等会查询到
-            o.setName("芋艿");
-            o.setConfigKey("yunai");
-            o.setType(ConfigTypeEnum.SYSTEM.getType());
-            o.setCreateTime(buildTime(2021, 2, 1));
-        });
-        configMapper.insert(dbConfig);
-        // 测试 name 不匹配
-        configMapper.insert(cloneIgnoreId(dbConfig, o -> o.setName("土豆")));
-        // 测试 key 不匹配
-        configMapper.insert(cloneIgnoreId(dbConfig, o -> o.setConfigKey("tudou")));
-        // 测试 type 不匹配
-        configMapper.insert(cloneIgnoreId(dbConfig, o -> o.setType(ConfigTypeEnum.CUSTOM.getType())));
-        // 测试 createTime 不匹配
-        configMapper.insert(cloneIgnoreId(dbConfig, o -> o.setCreateTime(buildTime(2021, 1, 1))));
-        // 准备参数
-        ConfigExportReqVO reqVO = new ConfigExportReqVO();
-        reqVO.setName("艿");
-        reqVO.setKey("nai");
-        reqVO.setType(ConfigTypeEnum.SYSTEM.getType());
-        reqVO.setCreateTime(buildBetweenTime(2021, 1, 15, 2021, 2, 15));
-
-        // 调用
-        List<ConfigDO> list = configService.getConfigList(reqVO);
-        // 断言
-        assertEquals(1, list.size());
-        assertPojoEquals(dbConfig, list.get(0));
-    }
-
     @Test
     public void testGetConfig() {
         // mock 数据