Files
ccdi/doc/plans/2026-02-26-model-param-save-optimization-design.md

2.5 KiB

模型参数阈值更新接口优化设计

1. 背景

当前 ModelParamSaveDTO 存在参数冗余问题:

  • 外层包含不必要的 modelName 字段
  • 内层 ParamItem 包含 6 个字段,但 Service 层只使用 paramCodeparamValue
  • 前端请求体包含大量无用字段,增加网络传输开销

2. 优化目标

  • 简化 DTO 结构,减少冗余字段
  • 减少前端请求数据量
  • 提升代码可读性

3. 设计方案

3.1 后端 DTO 简化

文件: ccdi-project/src/main/java/com/ruoyi/ccdi/project/domain/dto/ModelParamSaveDTO.java

改动:

  • 移除 modelName 字段
  • 将内部类 ParamItem 重命名为 ParamValueItem
  • 内部类只保留 paramCodeparamValue 两个字段

优化后结构:

@Data
public class ModelParamSaveDTO {
    private Long projectId;

    @NotBlank(message = "模型编码不能为空")
    private String modelCode;

    @NotNull(message = "参数列表不能为空")
    private List<ParamValueItem> params;

    @Data
    public static class ParamValueItem {
        @NotBlank(message = "参数编码不能为空")
        private String paramCode;

        @NotBlank(message = "参数值不能为空")
        private String paramValue;
    }
}

3.2 Service 层微调

文件: ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiModelParamServiceImpl.java

改动: 更新循环中的类型引用

// 改动前
for (ModelParamSaveDTO.ParamItem item : saveDTO.getParams())

// 改动后
for (ModelParamSaveDTO.ParamValueItem item : saveDTO.getParams())

3.3 前端请求简化

文件: ruoyi-ui/src/views/ccdi/modelParam/index.vue

改动: 简化 handleSave 方法中的请求参数

优化后:

const saveDTO = {
  projectId: this.queryParams.projectId,
  modelCode: this.queryParams.modelCode,
  params: modifiedParams.map((item) => ({
    paramCode: item.paramCode,
    paramValue: item.paramValue,
  })),
};

4. 改动文件清单

文件 改动类型
ModelParamSaveDTO.java 简化字段
CcdiModelParamServiceImpl.java 类型引用更新
index.vue 请求参数简化

5. 优化效果

指标 优化前 优化后
DTO 外层字段数 3 2
DTO 内层字段数 6 2
前端请求体字段数 8 4

6. 风险评估

  • 风险等级:
  • 向后兼容: 是(后端忽略多余字段)
  • 测试要求: 验证保存功能正常

创建日期: 2026-02-26