# 模型参数阈值更新接口优化设计 ## 1. 背景 当前 `ModelParamSaveDTO` 存在参数冗余问题: - 外层包含不必要的 `modelName` 字段 - 内层 `ParamItem` 包含 6 个字段,但 Service 层只使用 `paramCode` 和 `paramValue` - 前端请求体包含大量无用字段,增加网络传输开销 ## 2. 优化目标 - 简化 DTO 结构,减少冗余字段 - 减少前端请求数据量 - 提升代码可读性 ## 3. 设计方案 ### 3.1 后端 DTO 简化 **文件:** `ccdi-project/src/main/java/com/ruoyi/ccdi/project/domain/dto/ModelParamSaveDTO.java` **改动:** - 移除 `modelName` 字段 - 将内部类 `ParamItem` 重命名为 `ParamValueItem` - 内部类只保留 `paramCode` 和 `paramValue` 两个字段 **优化后结构:** ```java @Data public class ModelParamSaveDTO { private Long projectId; @NotBlank(message = "模型编码不能为空") private String modelCode; @NotNull(message = "参数列表不能为空") private List 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` **改动:** 更新循环中的类型引用 ```java // 改动前 for (ModelParamSaveDTO.ParamItem item : saveDTO.getParams()) // 改动后 for (ModelParamSaveDTO.ParamValueItem item : saveDTO.getParams()) ``` ### 3.3 前端请求简化 **文件:** `ruoyi-ui/src/views/ccdi/modelParam/index.vue` **改动:** 简化 `handleSave` 方法中的请求参数 **优化后:** ```javascript 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