From 2ac66ed9ebc40eb56ff17dc9aebbc7b984bed373 Mon Sep 17 00:00:00 2001 From: Hvemi_han <hvemi_han@Hvemi-handeMacBook-Pro.local> Date: Fri, 20 Dec 2024 15:52:26 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=BB=9F=E4=B8=80=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E7=A7=92=E7=BA=A7=E6=97=B6=E9=97=B4=E6=88=B3=EF=BC=8C?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- API文档.md | 112 +++++++++--------- .../service/LessonTaskService.java | 22 ++-- 2 files changed, 67 insertions(+), 67 deletions(-) diff --git a/API文档.md b/API文档.md index 849f545..d624bbb 100644 --- a/API文档.md +++ b/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 字段状态码说明: diff --git a/src/main/java/com/huertian/jinduguanli/service/LessonTaskService.java b/src/main/java/com/huertian/jinduguanli/service/LessonTaskService.java index ff95a9b..6ef0100 100644 --- a/src/main/java/com/huertian/jinduguanli/service/LessonTaskService.java +++ b/src/main/java/com/huertian/jinduguanli/service/LessonTaskService.java @@ -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) {