106 lines
2.5 KiB
Markdown
106 lines
2.5 KiB
Markdown
|
|
# 模型参数阈值更新接口优化设计
|
||
|
|
|
||
|
|
## 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<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`
|
||
|
|
|
||
|
|
**改动:** 更新循环中的类型引用
|
||
|
|
```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
|