feat: 优化课程任务管理功能

1. 添加按部门查询课程任务接口,返回数据中包含用户名
2. 优化任务更新逻辑,只更新非空字段
3. 添加自动更新时间戳功能
4. 更新API文档,完善接口说明
This commit is contained in:
Hvemi_han
2024-12-20 11:06:32 +08:00
parent 3db4fb2f98
commit d1aafdae85
6 changed files with 394 additions and 7 deletions

View File

@ -394,6 +394,96 @@
}
```
### 6. 按部门ID查询课程任务
- **接口**`GET /api/lesson-tasks/department/{departmentId}`
- **描述**:获取指定部门下正常状态用户的课程任务列表(分页)
- **认证**:需要
- **路径参数**
- `departmentId`: 部门ID
- **查询参数**
- `page`: 页码从1开始
- `size`: 每页数量默认10
- **成功响应**
```json
{
"code": 10000,
"message": "成功",
"data": {
"content": [
{
"id": 1,
"courseName": "物理",
"microLessonName": "微课1-1",
"userId": 1,
"username": "教师账号1", // 新增:用户名字段
"progressStatus": 4,
"scriptUploadTime": 1734498510000,
"scriptConfirmTime": 1734498510000,
"videoCaptureTime": 1734498510000,
"videoConfirmTime": 1734498510000,
"finishTime": 1734498510000,
"advise": null,
"createdAt": 1734578081000,
"updatedAt": 1734580393000
}
],
"totalElements": 10,
"totalPages": 1,
"size": 10,
"number": 0,
"first": true,
"last": true,
"empty": false
}
}
```
### 7. 更新课程任务进度
- **接口**`PUT /api/lesson-tasks/{id}`
- **描述**:更新课程任务的进度状态和建议
- **认证**:需要
- **路径参数**
- `id`: 课程任务ID
- **请求体**
```json
{
"progressStatus": 2, // 进度状态(可选)
"advise": "{\"method\":\"wechat\",\"uploaded\":true}" // 建议(可选)
}
```
- **说明**
- 更新进度状态时会自动更新对应的时间戳:
- 状态1更新scriptUploadTime
- 状态2更新scriptConfirmTime
- 状态3更新videoCaptureTime
- 状态4更新videoConfirmTime
- 状态5更新finishTime
- 只会更新请求体中包含的字段,未提供的字段保持不变
- **成功响应**
```json
{
"code": 10000,
"message": "成功",
"data": {
"id": 10,
"courseName": "测试课程",
"microLessonName": "测试微课",
"userId": 1,
"progressStatus": 2,
"scriptUploadTime": null,
"scriptConfirmTime": 1734663755667,
"videoCaptureTime": null,
"videoConfirmTime": null,
"finishTime": null,
"advise": "{\"method\":\"wechat\",\"uploaded\":true}",
"createdAt": 1734602440561,
"updatedAt": 1734663755000
}
}
```
## 注意事项
1. 所有需要认证的接口必须在请求头中携带有效的 JWT 令牌