fix:固定时间戳单位为秒

This commit is contained in:
huertian
2025-01-03 14:09:53 +08:00
parent f990f6b7a3
commit 6dd845cdd7
8 changed files with 303 additions and 267 deletions

View File

@ -56,11 +56,12 @@
### 课程任务相关字段
1. **进度状态 (progressStatus)**
- 0: 脚本上传
- 1: 脚本确认
- 2: 视频拍摄
- 3: 后期制作
- 4: 任务完成
- 0: 未开始
- 1: 脚本制作
- 2: 脚本审核
- 3: 脚本确认
- 4: 视频拍摄与制作
- 5: 视频确认
## 用户接口
@ -274,12 +275,12 @@
### 1. 获取课程任务列表
- **接口**`GET /api/lesson-tasks`
- **描述**:分页获取课程任务列表
- **描述**:分页获取课程任务列表,可按用户筛选
- **认证**:需要
- **查询参数**
- `page`: 页码(从 1 开始)
- `size`: 每页数量(默认 10
- `userId`: 用户 ID可选
- `userId`: 用户ID可选
- **成功响应**
```json
{
@ -288,27 +289,35 @@
"data": {
"content": [
{
"id": 6,
"courseName": "Test Course",
"microLessonName": "Test Lesson",
"userId": 12,
"progressStatus": 1,
"scriptUploadTime": 1734578081,
"scriptConfirmTime": 1734578081,
"videoCaptureTime": 1734578081,
"videoConfirmTime": 1734578081,
"finishTime": 1734578081,
"advise": "Test advice",
"createdAt": 1734578081,
"updatedAt": 1734578081
"id": 1,
"courseName": "数学",
"microLessonName": "数学1-1",
"userId": 1,
"progressStatus": 4,
"scriptCreateTime": 1734940587,
"scriptReviewTime": null,
"scriptConfirmTime": 1734940825,
"videoCreateTime": 1734940832,
"videoConfirmTime": 1734940837,
"finishTime": 1734940837,
"advise": "",
"createdAt": 1734674726,
"updatedAt": 1734940837
}
],
"totalElements": 4,
"pageable": {
"pageNumber": 0,
"pageSize": 10,
"sort": {
"empty": true,
"unsorted": true,
"sorted": false
}
},
"totalElements": 7,
"totalPages": 1,
"size": 10,
"number": 0,
"first": true,
"last": true,
"first": true,
"empty": false
}
}
@ -317,29 +326,30 @@
### 2. 获取单个课程任务
- **接口**`GET /api/lesson-tasks/{id}`
- **描述**:获取指定 ID 的课程任务
- **描述**根据ID获取课程任务详情
- **认证**:需要
- **路径参数**
- `id`: 课程任务 ID
- `id`: 课程任务ID
- **成功响应**
```json
{
"code": 10000,
"message": "成功",
"data": {
"id": 6,
"courseName": "Test Course",
"microLessonName": "Test Lesson",
"userId": 12,
"progressStatus": 1,
"scriptUploadTime": 1734578081,
"scriptConfirmTime": 1734578081,
"videoCaptureTime": 1734578081,
"videoConfirmTime": 1734578081,
"finishTime": 1734578081,
"advise": "Test advice",
"createdAt": 1734578081,
"updatedAt": 1734578081
"id": 1,
"courseName": "数学",
"microLessonName": "数学1-1",
"userId": 1,
"progressStatus": 4,
"scriptCreateTime": 1734940587,
"scriptReviewTime": null,
"scriptConfirmTime": 1734940825,
"videoCreateTime": 1734940832,
"videoConfirmTime": 1734940837,
"finishTime": 1734940837,
"advise": "",
"createdAt": 1734674726,
"updatedAt": 1734940837
}
}
```
@ -352,55 +362,10 @@
- **请求体**
```json
{
"courseName": "Java基础", // 课程名称,不可为空
"microLessonName": "Java变量", // 微课名称,不可为空
"userId": 1, // 负责人ID不可为空关联users表
"advise": "请注意讲解速度" // 任务建议或备注,可选
}
```
- **成功响应**
```json
{
"code": 10000,
"message": "成功",
"data": {
"id": 6,
"courseName": "Java基础",
"microLessonName": "Java变量",
"userId": 1,
"progressStatus": 1,
"scriptUploadTime": ,
"scriptConfirmTime": ,
"videoCaptureTime": ,
"videoConfirmTime": ,
"finishTime": ,
"advise": "请注意讲解速度",
"createdAt": 1734578081,
"updatedAt": 1734578081
}
}
```
### 4. 更新课程任务
- **接口**`PUT /api/lesson-tasks/{id}`
- **描述**:更新指定 ID 的课程任务
- **认证**:需要
- **路径参数**
- `id`: 课程任务 ID
- **请求体**
```json
{
"courseName": "Updated Course", // 课程名称
"microLessonName": "Updated Lesson", // 微课名称
"userId": 12, // 用户ID
"progressStatus": 2, // 进度状态
"scriptUploadTime": 1734578081, // 脚本上传时间
"scriptConfirmTime": 1734578081, // 脚本确认时间
"videoCaptureTime": 1734578081, // 视频录制时间
"videoConfirmTime": 1734578081, // 视频确认时间
"finishTime": 1734578081, // 完成时间
"advise": "Updated advice" // 建议
"courseName": "测试课程",
"microLessonName": "测试微课",
"userId": 1,
"advise": "任务说明"
}
```
- **成功响应**
@ -409,46 +374,69 @@
"code": 10000,
"message": "成功",
"data": {
"id": 6,
"courseName": "Updated Course",
"microLessonName": "Updated Lesson",
"userId": 12,
"progressStatus": 2,
"scriptUploadTime": 1734578081,
"scriptConfirmTime": 1734578081,
"videoCaptureTime": 1734578081,
"videoConfirmTime": 1734578081,
"finishTime": 1734578081,
"advise": "Updated advice",
"createdAt": 1734578081,
"updatedAt": 1734578081
"id": 11,
"courseName": "测试课程",
"microLessonName": "测试微课",
"userId": 1,
"progressStatus": 0,
"scriptCreateTime": null,
"scriptReviewTime": null,
"scriptConfirmTime": null,
"videoCreateTime": null,
"videoConfirmTime": null,
"finishTime": null,
"advise": "任务说明",
"createdAt": 1735003870,
"updatedAt": 1735003870
}
}
```
### 5. 删除课程任务
### 4. 更新课程任务
- **接口**`DELETE /api/lesson-tasks/{id}`
- **描述**删除指定 ID 的课程任务
- **接口**`PUT /api/lesson-tasks/{id}`
- **描述**更新课程任务信息
- **认证**:需要
- **路径参数**
- `id`: 课程任务 ID
- `id`: 课程任务ID
- **请求体**
```json
{
"progressStatus": 1,
"advise": "更新的任务说明"
}
```
- **成功响应**
```json
{
"code": 10000,
"message": "成功",
"data": null
"data": {
"id": 11,
"courseName": "测试课程",
"microLessonName": "测试微课",
"userId": 1,
"progressStatus": 1,
"scriptCreateTime": 1735003922,
"scriptReviewTime": null,
"scriptConfirmTime": null,
"videoCreateTime": null,
"videoConfirmTime": null,
"finishTime": null,
"advise": "更新的任务说明",
"createdAt": 1735003870,
"updatedAt": 1735003922
}
}
```
### 6. 按部门 ID 查询课程任务
### 5. 获取部门课程任务
- **接口**`GET /api/lesson-tasks/department/{departmentId}`
- **描述**:获取指定部门下正常状态用户的课程任务列表(分页)
- **描述**:获取指定部门的课程任务列表
- **认证**:需要
- **路径参数**
- `departmentId`: 部门 ID
- `departmentId`: 部门ID
- **查询参数**
- `page`: 页码(从 1 开始)
- `size`: 每页数量(默认 10
@ -461,89 +449,51 @@
"content": [
{
"id": 1,
"courseName": "物理",
"microLessonName": "微课1-1",
"courseName": "数学",
"microLessonName": "数学1-1",
"userId": 1,
"username": "教师账号1", // 新增:用户名字段
"username": "教师账号1",
"progressStatus": 4,
"scriptUploadTime": 1734498510,
"scriptConfirmTime": 1734498510,
"videoCaptureTime": 1734498510,
"videoConfirmTime": 1734498510,
"finishTime": 1734498510,
"advise": null,
"createdAt": 1734578081,
"updatedAt": 1734580393
"scriptCreateTime": 1734940587,
"scriptReviewTime": null,
"scriptConfirmTime": 1734940825,
"videoCreateTime": 1734940832,
"videoConfirmTime": 1734940837,
"finishTime": 1734940837,
"advise": "",
"createdAt": 1734674726,
"updatedAt": 1734940837
}
],
"totalElements": 10,
"totalPages": 1,
"size": 10,
"number": 0,
"first": true,
"last": true,
"empty": false
"pageable": {
"pageNumber": 0,
"pageSize": 10
},
"totalElements": 11,
"totalPages": 2
}
}
```
### 7. 更新课程任务进度
### 6. 删除课程任务
- **接口**`PUT /api/lesson-tasks/{id}`
- **描述**更新课程任务的进度状态和建议
- **接口**`DELETE /api/lesson-tasks/{id}`
- **描述**删除指定的课程任务
- **认证**:需要
- **路径参数**
- `id`: 课程任务 ID
- **请求体**
```json
{
"progressStatus": 2, // 进度状态(可选)
"advise": "{\"method\":\"wechat\",\"uploaded\":true}" // 建议(可选)
}
```
- **说明**
- 更新进度状态时会自动更新对应的时间戳:
- 状态 1更新 scriptUploadTime
- 状态 2更新 scriptConfirmTime
- 状态 3更新 videoCaptureTime
- 状态 4更新 videoConfirmTime
- 状态 5更新 finishTime
- 只会更新请求体中包含的字段,未提供的字段保持不变
- `id`: 课程任务ID
- **成功响应**
```json
{
"code": 10000,
"message": "成功",
"data": {
"id": 10,
"courseName": "测试课程",
"microLessonName": "测试微课",
"userId": 1,
"progressStatus": 2,
"scriptUploadTime": null,
"scriptConfirmTime": 1734663755,
"videoCaptureTime": null,
"videoConfirmTime": null,
"finishTime": null,
"advise": "{\"method\":\"wechat\",\"uploaded\":true}",
"createdAt": 1734602440,
"updatedAt": 1734663755
}
"data": null
}
```
## 注意事项
1. 所有需要认证的接口必须在请求头中携带有效的 JWT 令牌
2. 所有时间戳字段均为秒级时间戳
3. 分页接口的页码从 1 开始
4. 用户密码在传输和存储时都会进行加密处理
5. 课程任务的 progressStatus 字段状态码说明:
- 0: 脚本上传
- 1: 脚本确认
- 2: 视频拍摄
- 3: 后期制作
- 4: 任务完成
6. 用户状态说明:
- 1: 正常
- 0: 禁用
1. 所有时间戳字段均使用秒级时间戳10位
2. 课程任务状态变更时会自动记录相应的时间戳
3. 部门课程任务列表会额外返回用户名信息
4. 分页参数中的页码从1开始