163 lines
4.7 KiB
Markdown
163 lines
4.7 KiB
Markdown
# 任务2: 后端业务逻辑开发 - 验证报告
|
|
|
|
## 任务完成情况
|
|
|
|
### ✅ 已完成项目
|
|
|
|
#### 1. Mapper 层
|
|
|
|
- ✅ **CcdiModelParamMapper.java** - 已创建
|
|
- 位置: `ccdi-project/src/main/java/com/ruoyi/ccdi/project/mapper/`
|
|
- 方法:
|
|
- `selectByProjectAndModel` - 查询指定项目和模型的参数列表
|
|
- `selectDistinctModels` - 查询所有模型列表(去重)
|
|
- `batchUpdateParamValues` - 批量更新参数值
|
|
|
|
- ✅ **CcdiModelParamMapper.xml** - 已创建
|
|
- 位置: `ccdi-project/src/main/resources/mapper/ccdi/project/`
|
|
- 特点:
|
|
- 使用 `separator=";"` 实现批量更新
|
|
- UPDATE 语句只更新 `param_value`, `update_by`, `update_time` 三个字段
|
|
- 符合只更新阈值的业务要求
|
|
|
|
#### 2. Service 层
|
|
|
|
- ✅ **ICcdiModelParamService.java** - 已创建
|
|
- 位置: `ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/`
|
|
- 方法:
|
|
- `selectModelList` - 查询模型列表
|
|
- `selectParamList` - 查询模型参数列表
|
|
- `saveParams` - 保存模型参数
|
|
|
|
- ✅ **CcdiModelParamServiceImpl.java** - 已创建
|
|
- 位置: `ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/`
|
|
- 特点:
|
|
- 使用 `@Resource` 注入 Mapper
|
|
- `saveParams` 方法添加 `@Transactional` 注解
|
|
- 使用 `SecurityUtils.getUsername()` 获取当前用户
|
|
- 只更新 `param_value` 字段,符合业务要求
|
|
- 使用 `BeanUtils.copyProperties` 进行对象转换
|
|
|
|
#### 3. Controller 层
|
|
|
|
- ✅ **CcdiModelParamController.java** - 已创建
|
|
- 位置: `ccdi-project/src/main/java/com/ruoyi/ccdi/project/controller/`
|
|
- 接口:
|
|
- `GET /ccdi/modelParam/modelList` - 查询模型列表
|
|
- `GET /ccdi/modelParam/list` - 查询模型参数列表
|
|
- `POST /ccdi/modelParam/save` - 保存模型参数
|
|
- 特点:
|
|
- 继承 `BaseController`
|
|
- 使用 `@Tag` 和 `@Operation` 添加 Swagger 注解
|
|
- 使用 `@Validated` 进行参数校验
|
|
- 添加 `@Log` 注解记录操作日志
|
|
|
|
#### 4. 配置文件
|
|
|
|
- ✅ **pom.xml** - 已更新
|
|
- 添加 `springdoc-openapi-starter-webmvc-ui` 依赖
|
|
- 配置 Lombok 注解处理器
|
|
|
|
### ✅ 编译验证
|
|
|
|
```bash
|
|
mvn clean compile -pl ccdi-project -am
|
|
```
|
|
|
|
**结果:** BUILD SUCCESS
|
|
|
|
### ✅ 代码规范检查
|
|
|
|
#### 导入规范
|
|
|
|
- ✅ 所有类使用 `import` 语句导入,无全限定类名
|
|
- ✅ 无未使用的导入
|
|
|
|
#### 注解规范
|
|
|
|
- ✅ Service 层使用 `@Resource` 注入,未使用 `@Autowired`
|
|
- ✅ Service 实现类添加 `@Transactional` 注解
|
|
- ✅ Controller 添加 Swagger 注解 (`@Tag`, `@Operation`)
|
|
- ✅ Controller 添加日志注解 (`@Log`)
|
|
|
|
#### 分层规范
|
|
|
|
- ✅ DTO/VO 与 Entity 分离
|
|
- ✅ Mapper 接口继承 `BaseMapper<CcdiModelParam>`
|
|
- ✅ Service 接口和实现类分离定义
|
|
|
|
#### 业务规范
|
|
|
|
- ✅ UPDATE 语句只更新 `param_value` 字段
|
|
- ✅ 批量更新使用 `separator=";"`
|
|
- ✅ 使用 `ServiceException` 抛出业务异常
|
|
- ✅ 审计字段自动设置
|
|
|
|
---
|
|
|
|
## 文件清单
|
|
|
|
### Java 文件 (9个)
|
|
|
|
```
|
|
ccdi-project/src/main/java/com/ruoyi/ccdi/project/
|
|
├── domain/
|
|
│ ├── CcdiModelParam.java # 实体类
|
|
│ ├── dto/
|
|
│ │ ├── ModelParamQueryDTO.java # 查询DTO
|
|
│ │ └── ModelParamSaveDTO.java # 保存DTO
|
|
│ └── vo/
|
|
│ ├── ModelListVO.java # 模型列表VO
|
|
│ └── ModelParamVO.java # 参数VO
|
|
├── mapper/
|
|
│ └── CcdiModelParamMapper.java # Mapper接口
|
|
├── service/
|
|
│ ├── ICcdiModelParamService.java # Service接口
|
|
│ └── impl/
|
|
│ └── CcdiModelParamServiceImpl.java # Service实现
|
|
└── controller/
|
|
└── CcdiModelParamController.java # Controller
|
|
```
|
|
|
|
### XML 文件 (1个)
|
|
|
|
```
|
|
ccdi-project/src/main/resources/mapper/ccdi/project/
|
|
└── CcdiModelParamMapper.xml # MyBatis映射文件
|
|
```
|
|
|
|
### 配置文件 (1个)
|
|
|
|
```
|
|
ccdi-project/
|
|
└── pom.xml # Maven配置(已更新)
|
|
```
|
|
|
|
---
|
|
|
|
## 接口定义
|
|
|
|
### 1. 查询模型列表
|
|
|
|
- **URL:** `GET /ccdi/modelParam/modelList`
|
|
- **参数:** `projectId` (可选)
|
|
- **响应:** 模型列表 (modelCode, modelName)
|
|
|
|
### 2. 查询模型参数列表
|
|
|
|
- **URL:** `GET /ccdi/modelParam/list`
|
|
- **参数:** `ModelParamQueryDTO` (projectId, modelCode)
|
|
- **响应:** 参数列表
|
|
|
|
### 3. 保存模型参数
|
|
|
|
- **URL:** `POST /ccdi/modelParam/save`
|
|
- **参数:** `ModelParamSaveDTO` (projectId, modelCode, params)
|
|
- **响应:** 操作结果
|
|
|
|
---
|
|
|
|
## 下一步
|
|
|
|
进入 **任务3: 后端功能测试**
|