refactor: 统一使用秒级时间戳,优化代码格式

This commit is contained in:
Hvemi_han 2024-12-20 15:52:26 +08:00
parent d1aafdae85
commit 2ac66ed9eb
2 changed files with 67 additions and 67 deletions

View File

@ -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 字段状态码说明:

View File

@ -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) {