refactor: 统一使用秒级时间戳,优化代码格式
This commit is contained in:
parent
d1aafdae85
commit
2ac66ed9eb
112
API文档.md
112
API文档.md
@ -157,8 +157,8 @@
|
||||
"avatar": null,
|
||||
"creatorId": 1,
|
||||
"status": 1,
|
||||
"createdAt": 1734498503690,
|
||||
"updatedAt": 1734498503690,
|
||||
"createdAt": 1734578081,
|
||||
"updatedAt": 1734578081,
|
||||
"enabled": true,
|
||||
"authorities": [
|
||||
{
|
||||
@ -194,8 +194,8 @@
|
||||
"avatar": null,
|
||||
"creatorId": 1,
|
||||
"status": 1,
|
||||
"createdAt": 1734491549,
|
||||
"updatedAt": 1734491549
|
||||
"createdAt": 1734578081,
|
||||
"updatedAt": 1734578081
|
||||
}
|
||||
],
|
||||
"total": 12,
|
||||
@ -245,14 +245,14 @@
|
||||
"microLessonName": "Test Lesson",
|
||||
"userId": 12,
|
||||
"progressStatus": 1,
|
||||
"scriptUploadTime": 1734498510000,
|
||||
"scriptConfirmTime": 1734498510000,
|
||||
"videoCaptureTime": 1734498510000,
|
||||
"videoConfirmTime": 1734498510000,
|
||||
"finishTime": 1734498510000,
|
||||
"scriptUploadTime": 1734578081,
|
||||
"scriptConfirmTime": 1734578081,
|
||||
"videoCaptureTime": 1734578081,
|
||||
"videoConfirmTime": 1734578081,
|
||||
"finishTime": 1734578081,
|
||||
"advise": "Test advice",
|
||||
"createdAt": 1734498546322,
|
||||
"updatedAt": 1734498546322
|
||||
"createdAt": 1734578081,
|
||||
"updatedAt": 1734578081
|
||||
}
|
||||
],
|
||||
"totalElements": 4,
|
||||
@ -284,14 +284,14 @@
|
||||
"microLessonName": "Test Lesson",
|
||||
"userId": 12,
|
||||
"progressStatus": 1,
|
||||
"scriptUploadTime": 1734498510000,
|
||||
"scriptConfirmTime": 1734498510000,
|
||||
"videoCaptureTime": 1734498510000,
|
||||
"videoConfirmTime": 1734498510000,
|
||||
"finishTime": 1734498510000,
|
||||
"scriptUploadTime": 1734578081,
|
||||
"scriptConfirmTime": 1734578081,
|
||||
"videoCaptureTime": 1734578081,
|
||||
"videoConfirmTime": 1734578081,
|
||||
"finishTime": 1734578081,
|
||||
"advise": "Test advice",
|
||||
"createdAt": 1734498546322,
|
||||
"updatedAt": 1734498546322
|
||||
"createdAt": 1734578081,
|
||||
"updatedAt": 1734578081
|
||||
}
|
||||
}
|
||||
```
|
||||
@ -327,8 +327,8 @@
|
||||
"videoConfirmTime": ,
|
||||
"finishTime": ,
|
||||
"advise": "请注意讲解速度",
|
||||
"createdAt": 1734498546322,
|
||||
"updatedAt": 1734498546322
|
||||
"createdAt": 1734578081,
|
||||
"updatedAt": 1734578081
|
||||
}
|
||||
}
|
||||
```
|
||||
@ -347,11 +347,11 @@
|
||||
"microLessonName": "Updated Lesson", // 微课名称
|
||||
"userId": 12, // 用户ID
|
||||
"progressStatus": 2, // 进度状态
|
||||
"scriptUploadTime": 1734498510000, // 脚本上传时间
|
||||
"scriptConfirmTime": 1734498510000, // 脚本确认时间
|
||||
"videoCaptureTime": 1734498510000, // 视频录制时间
|
||||
"videoConfirmTime": 1734498510000, // 视频确认时间
|
||||
"finishTime": 1734498510000, // 完成时间
|
||||
"scriptUploadTime": 1734578081, // 脚本上传时间
|
||||
"scriptConfirmTime": 1734578081, // 脚本确认时间
|
||||
"videoCaptureTime": 1734578081, // 视频录制时间
|
||||
"videoConfirmTime": 1734578081, // 视频确认时间
|
||||
"finishTime": 1734578081, // 完成时间
|
||||
"advise": "Updated advice" // 建议
|
||||
}
|
||||
```
|
||||
@ -366,14 +366,14 @@
|
||||
"microLessonName": "Updated Lesson",
|
||||
"userId": 12,
|
||||
"progressStatus": 2,
|
||||
"scriptUploadTime": 1734498510000,
|
||||
"scriptConfirmTime": 1734498510000,
|
||||
"videoCaptureTime": 1734498510000,
|
||||
"videoConfirmTime": 1734498510000,
|
||||
"finishTime": 1734498510000,
|
||||
"scriptUploadTime": 1734578081,
|
||||
"scriptConfirmTime": 1734578081,
|
||||
"videoCaptureTime": 1734578081,
|
||||
"videoConfirmTime": 1734578081,
|
||||
"finishTime": 1734578081,
|
||||
"advise": "Updated advice",
|
||||
"createdAt": 1734498546322,
|
||||
"updatedAt": 1734498586574
|
||||
"createdAt": 1734578081,
|
||||
"updatedAt": 1734578081
|
||||
}
|
||||
}
|
||||
```
|
||||
@ -394,16 +394,16 @@
|
||||
}
|
||||
```
|
||||
|
||||
### 6. 按部门ID查询课程任务
|
||||
### 6. 按部门 ID 查询课程任务
|
||||
|
||||
- **接口**:`GET /api/lesson-tasks/department/{departmentId}`
|
||||
- **描述**:获取指定部门下正常状态用户的课程任务列表(分页)
|
||||
- **认证**:需要
|
||||
- **路径参数**:
|
||||
- `departmentId`: 部门ID
|
||||
- `departmentId`: 部门 ID
|
||||
- **查询参数**:
|
||||
- `page`: 页码(从1开始)
|
||||
- `size`: 每页数量(默认10)
|
||||
- `page`: 页码(从 1 开始)
|
||||
- `size`: 每页数量(默认 10)
|
||||
- **成功响应**:
|
||||
```json
|
||||
{
|
||||
@ -416,16 +416,16 @@
|
||||
"courseName": "物理",
|
||||
"microLessonName": "微课1-1",
|
||||
"userId": 1,
|
||||
"username": "教师账号1", // 新增:用户名字段
|
||||
"username": "教师账号1", // 新增:用户名字段
|
||||
"progressStatus": 4,
|
||||
"scriptUploadTime": 1734498510000,
|
||||
"scriptConfirmTime": 1734498510000,
|
||||
"videoCaptureTime": 1734498510000,
|
||||
"videoConfirmTime": 1734498510000,
|
||||
"finishTime": 1734498510000,
|
||||
"scriptUploadTime": 1734498510,
|
||||
"scriptConfirmTime": 1734498510,
|
||||
"videoCaptureTime": 1734498510,
|
||||
"videoConfirmTime": 1734498510,
|
||||
"finishTime": 1734498510,
|
||||
"advise": null,
|
||||
"createdAt": 1734578081000,
|
||||
"updatedAt": 1734580393000
|
||||
"createdAt": 1734578081,
|
||||
"updatedAt": 1734580393
|
||||
}
|
||||
],
|
||||
"totalElements": 10,
|
||||
@ -445,21 +445,21 @@
|
||||
- **描述**:更新课程任务的进度状态和建议
|
||||
- **认证**:需要
|
||||
- **路径参数**:
|
||||
- `id`: 课程任务ID
|
||||
- `id`: 课程任务 ID
|
||||
- **请求体**:
|
||||
```json
|
||||
{
|
||||
"progressStatus": 2, // 进度状态(可选)
|
||||
"advise": "{\"method\":\"wechat\",\"uploaded\":true}" // 建议(可选)
|
||||
"progressStatus": 2, // 进度状态(可选)
|
||||
"advise": "{\"method\":\"wechat\",\"uploaded\":true}" // 建议(可选)
|
||||
}
|
||||
```
|
||||
- **说明**:
|
||||
- 更新进度状态时会自动更新对应的时间戳:
|
||||
- 状态1:更新scriptUploadTime
|
||||
- 状态2:更新scriptConfirmTime
|
||||
- 状态3:更新videoCaptureTime
|
||||
- 状态4:更新videoConfirmTime
|
||||
- 状态5:更新finishTime
|
||||
- 状态 1:更新 scriptUploadTime
|
||||
- 状态 2:更新 scriptConfirmTime
|
||||
- 状态 3:更新 videoCaptureTime
|
||||
- 状态 4:更新 videoConfirmTime
|
||||
- 状态 5:更新 finishTime
|
||||
- 只会更新请求体中包含的字段,未提供的字段保持不变
|
||||
- **成功响应**:
|
||||
```json
|
||||
@ -473,13 +473,13 @@
|
||||
"userId": 1,
|
||||
"progressStatus": 2,
|
||||
"scriptUploadTime": null,
|
||||
"scriptConfirmTime": 1734663755667,
|
||||
"scriptConfirmTime": 1734663755,
|
||||
"videoCaptureTime": null,
|
||||
"videoConfirmTime": null,
|
||||
"finishTime": null,
|
||||
"advise": "{\"method\":\"wechat\",\"uploaded\":true}",
|
||||
"createdAt": 1734602440561,
|
||||
"updatedAt": 1734663755000
|
||||
"createdAt": 1734602440,
|
||||
"updatedAt": 1734663755
|
||||
}
|
||||
}
|
||||
```
|
||||
@ -487,7 +487,7 @@
|
||||
## 注意事项
|
||||
|
||||
1. 所有需要认证的接口必须在请求头中携带有效的 JWT 令牌
|
||||
2. 所有时间戳字段均为毫秒级时间戳
|
||||
2. 所有时间戳字段均为秒级时间戳
|
||||
3. 分页接口的页码从 1 开始
|
||||
4. 用户密码在传输和存储时都会进行加密处理
|
||||
5. 课程任务的 progressStatus 字段状态码说明:
|
||||
|
@ -51,7 +51,7 @@ public class LessonTaskService {
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@CacheEvict(value = { "lessonTasks", "lessonTask" }, allEntries = true)
|
||||
@CacheEvict(value = {"lessonTasks", "lessonTask"}, allEntries = true)
|
||||
public LessonTask create(LessonTaskRequest request) {
|
||||
logger.info("开始创建课程任务 - 课程名称: {}, 小课名称: {}, 用户ID: {}",
|
||||
request.getCourseName(), request.getMicroLessonName(), request.getUserId());
|
||||
@ -65,7 +65,7 @@ public class LessonTaskService {
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@CacheEvict(value = { "lessonTasks", "lessonTask" }, allEntries = true)
|
||||
@CacheEvict(value = {"lessonTasks", "lessonTask"}, allEntries = true)
|
||||
public LessonTask update(Long id, LessonTaskRequest request) {
|
||||
logger.info("开始更新课程任务 - 任务ID: {}, 进度状态: {}", id, request.getProgressStatus());
|
||||
LessonTask task = findById(id);
|
||||
@ -74,7 +74,7 @@ public class LessonTaskService {
|
||||
if (request.getProgressStatus() != null) {
|
||||
task.setProgressStatus(request.getProgressStatus());
|
||||
// 根据进度状态更新时间戳
|
||||
long currentTime = System.currentTimeMillis();
|
||||
long currentTime = System.currentTimeMillis() / 1000;
|
||||
switch (request.getProgressStatus()) {
|
||||
case 1: // 脚本上传
|
||||
task.setScriptUploadTime(currentTime);
|
||||
@ -106,14 +106,14 @@ public class LessonTaskService {
|
||||
task.setUserId(request.getUserId());
|
||||
}
|
||||
|
||||
task.setUpdatedAt(System.currentTimeMillis());
|
||||
task.setUpdatedAt(System.currentTimeMillis() / 1000);
|
||||
LessonTask updatedTask = lessonTaskRepository.save(task);
|
||||
logger.info("更新课程任务成功 - 任务ID: {}", updatedTask.getId());
|
||||
return updatedTask;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@CacheEvict(value = { "lessonTasks", "lessonTask" }, allEntries = true)
|
||||
@CacheEvict(value = {"lessonTasks", "lessonTask"}, allEntries = true)
|
||||
public void delete(Long id) {
|
||||
logger.info("开始删除课程任务 - 任务ID: {}", id);
|
||||
if (!lessonTaskRepository.existsById(id)) {
|
||||
@ -128,13 +128,13 @@ public class LessonTaskService {
|
||||
* 根据部门ID查询正常状态用户的课程任务列表(分页),包含用户名
|
||||
*
|
||||
* @param departmentId 部门ID
|
||||
* @param pageable 分页参数
|
||||
* @param pageable 分页参数
|
||||
* @return 课程任务分页数据
|
||||
*/
|
||||
public Page<LessonTaskDTO> findByDepartmentIdAndNormalUser(Long departmentId, Pageable pageable) {
|
||||
logger.info("查询部门正常用户的课程任务,部门ID: {}", departmentId);
|
||||
Page<java.util.Map<String, Object>> result = lessonTaskRepository.findByDepartmentIdAndNormalUserWithUsername(departmentId, pageable);
|
||||
|
||||
|
||||
return result.map(map -> {
|
||||
LessonTask lessonTask = (LessonTask) map.get("lessonTask");
|
||||
String username = (String) map.get("username");
|
||||
@ -146,8 +146,8 @@ public class LessonTaskService {
|
||||
* 根据部门ID和状态查询课程任务列表(分页)
|
||||
*
|
||||
* @param departmentId 部门ID
|
||||
* @param status 任务状态(可选):0-脚本上传, 1-脚本确认, 2-视频拍摄, 3-后期制作, 4-任务完成
|
||||
* @param pageable 分页参数
|
||||
* @param status 任务状态(可选):0-脚本上传, 1-脚本确认, 2-视频拍摄, 3-后期制作, 4-任务完成
|
||||
* @param pageable 分页参数
|
||||
* @return 课程任务分页数据
|
||||
*/
|
||||
public Page<LessonTask> findByDepartmentIdAndStatus(Long departmentId, Integer status, Pageable pageable) {
|
||||
@ -159,8 +159,8 @@ public class LessonTaskService {
|
||||
* 根据部门ID和用户状态查询课程任务列表(分页)
|
||||
*
|
||||
* @param departmentId 部门ID
|
||||
* @param userStatus 用户状态(可选):1-正常, 0-禁用
|
||||
* @param pageable 分页参数
|
||||
* @param userStatus 用户状态(可选):1-正常, 0-禁用
|
||||
* @param pageable 分页参数
|
||||
* @return 课程任务分页数据
|
||||
*/
|
||||
public Page<LessonTask> findByDepartmentIdAndUserStatus(Long departmentId, Integer userStatus, Pageable pageable) {
|
||||
|
Loading…
Reference in New Issue
Block a user