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

@ -11,9 +11,10 @@ public class LessonTaskDTO {
private Long userId;
private String username; // 添加用户名字段
private Integer progressStatus;
private Long scriptUploadTime;
private Long scriptCreateTime;
private Long scriptReviewTime;
private Long scriptConfirmTime;
private Long videoCaptureTime;
private Long videoCreateTime;
private Long videoConfirmTime;
private Long finishTime;
private String advise;
@ -29,9 +30,10 @@ public class LessonTaskDTO {
dto.setUserId(lessonTask.getUserId());
dto.setUsername(username);
dto.setProgressStatus(lessonTask.getProgressStatus());
dto.setScriptUploadTime(lessonTask.getScriptUploadTime());
dto.setScriptCreateTime(lessonTask.getScriptCreateTime());
dto.setScriptReviewTime(lessonTask.getScriptReviewTime());
dto.setScriptConfirmTime(lessonTask.getScriptConfirmTime());
dto.setVideoCaptureTime(lessonTask.getVideoCaptureTime());
dto.setVideoCreateTime(lessonTask.getVideoCreateTime());
dto.setVideoConfirmTime(lessonTask.getVideoConfirmTime());
dto.setFinishTime(lessonTask.getFinishTime());
dto.setAdvise(lessonTask.getAdvise());
@ -88,12 +90,20 @@ public class LessonTaskDTO {
this.progressStatus = progressStatus;
}
public Long getScriptUploadTime() {
return scriptUploadTime;
public Long getScriptCreateTime() {
return scriptCreateTime;
}
public void setScriptUploadTime(Long scriptUploadTime) {
this.scriptUploadTime = scriptUploadTime;
public void setScriptCreateTime(Long scriptCreateTime) {
this.scriptCreateTime = scriptCreateTime;
}
public Long getScriptReviewTime() {
return scriptReviewTime;
}
public void setScriptReviewTime(Long scriptReviewTime) {
this.scriptReviewTime = scriptReviewTime;
}
public Long getScriptConfirmTime() {
@ -104,12 +114,12 @@ public class LessonTaskDTO {
this.scriptConfirmTime = scriptConfirmTime;
}
public Long getVideoCaptureTime() {
return videoCaptureTime;
public Long getVideoCreateTime() {
return videoCreateTime;
}
public void setVideoCaptureTime(Long videoCaptureTime) {
this.videoCaptureTime = videoCaptureTime;
public void setVideoCreateTime(Long videoCreateTime) {
this.videoCreateTime = videoCreateTime;
}
public Long getVideoConfirmTime() {

View File

@ -10,9 +10,10 @@ public class LessonTaskRequest {
private String microLessonName;
private Long userId;
private Integer progressStatus;
private Long scriptUploadTime;
private Long scriptCreateTime;
private Long scriptReviewTime;
private Long scriptConfirmTime;
private Long videoCaptureTime;
private Long videoCreateTime;
private Long videoConfirmTime;
private Long finishTime;
private String advise;
@ -49,12 +50,20 @@ public class LessonTaskRequest {
this.progressStatus = progressStatus;
}
public Long getScriptUploadTime() {
return scriptUploadTime;
public Long getScriptCreateTime() {
return scriptCreateTime;
}
public void setScriptUploadTime(Long scriptUploadTime) {
this.scriptUploadTime = scriptUploadTime;
public void setScriptCreateTime(Long scriptCreateTime) {
this.scriptCreateTime = scriptCreateTime;
}
public Long getScriptReviewTime() {
return scriptReviewTime;
}
public void setScriptReviewTime(Long scriptReviewTime) {
this.scriptReviewTime = scriptReviewTime;
}
public Long getScriptConfirmTime() {
@ -65,12 +74,12 @@ public class LessonTaskRequest {
this.scriptConfirmTime = scriptConfirmTime;
}
public Long getVideoCaptureTime() {
return videoCaptureTime;
public Long getVideoCreateTime() {
return videoCreateTime;
}
public void setVideoCaptureTime(Long videoCaptureTime) {
this.videoCaptureTime = videoCaptureTime;
public void setVideoCreateTime(Long videoCreateTime) {
this.videoCreateTime = videoCreateTime;
}
public Long getVideoConfirmTime() {

View File

@ -32,9 +32,10 @@ public class LessonTask implements Serializable {
@Column(nullable = false)
private Integer progressStatus;
private Long scriptUploadTime;
private Long scriptCreateTime;
private Long scriptReviewTime;
private Long scriptConfirmTime;
private Long videoCaptureTime;
private Long videoCreateTime;
private Long videoConfirmTime;
private Long finishTime;
@ -48,9 +49,9 @@ public class LessonTask implements Serializable {
@PrePersist
protected void onCreate() {
logger.info("创建新课程任务 - 课程名称: {}, 课名称: {}, 用户ID: {}",
logger.info("创建新课程任务 - 课程名称: {}, 课名称: {}, 用户ID: {}",
this.courseName, this.microLessonName, this.userId);
progressStatus = 1;
progressStatus = 0;
long now = System.currentTimeMillis() / 1000;
createdAt = now;
updatedAt = now;
@ -60,7 +61,7 @@ public class LessonTask implements Serializable {
@PreUpdate
protected void onUpdate() {
logger.info("更新课程任务 - ID: {}, 课程名称: {}, 课名称: {}",
logger.info("更新课程任务 - ID: {}, 课程名称: {}, 课名称: {}",
this.id, this.courseName, this.microLessonName);
updatedAt = System.currentTimeMillis() / 1000;
logger.info("更新课程任务成功 - ID: {}, 更新时间: {}", id, updatedAt);

View File

@ -47,6 +47,18 @@ public class User implements UserDetails {
@Column(name = "updated_at", nullable = false)
private Long updatedAt;
@PrePersist
protected void onCreate() {
long now = System.currentTimeMillis() / 1000;
createdAt = now;
updatedAt = now;
}
@PreUpdate
protected void onUpdate() {
updatedAt = System.currentTimeMillis() / 1000;
}
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
return Collections.singletonList(new SimpleGrantedAuthority("ROLE_USER"));

View File

@ -53,12 +53,12 @@ public class LessonTaskService {
@Transactional
@CacheEvict(value = { "lessonTasks", "lessonTask" }, allEntries = true)
public LessonTask create(LessonTaskRequest request) {
logger.info("开始创建课程任务 - 课程名称: {}, 课名称: {}, 用户ID: {}",
logger.info("开始创建课程任务 - 课程名称: {}, 课名称: {}, 用户ID: {}",
request.getCourseName(), request.getMicroLessonName(), request.getUserId());
validateRequest(request);
LessonTask task = new LessonTask();
BeanUtils.copyProperties(request, task);
task.setProgressStatus(0); // 初始状态
task.setProgressStatus(0); // 初始状态:未开始
LessonTask savedTask = lessonTaskRepository.save(task);
logger.info("创建课程任务成功 - 任务ID: {}", savedTask.getId());
return savedTask;
@ -76,36 +76,42 @@ public class LessonTaskService {
// 根据进度状态更新时间戳
long currentTime = System.currentTimeMillis() / 1000;
switch (request.getProgressStatus()) {
case 0: // 初始状态
task.setScriptUploadTime(null);
case 0: // 未开始
task.setScriptCreateTime(null);
task.setScriptReviewTime(null);
task.setScriptConfirmTime(null);
task.setVideoCaptureTime(null);
task.setVideoCreateTime(null);
task.setVideoConfirmTime(null);
task.setFinishTime(null);
break;
case 1: // 脚本上传
task.setScriptUploadTime(currentTime);
case 1: // 脚本制作
task.setScriptCreateTime(currentTime);
task.setScriptReviewTime(null);
task.setScriptConfirmTime(null);
task.setVideoCaptureTime(null);
task.setVideoCreateTime(null);
task.setVideoConfirmTime(null);
task.setFinishTime(null);
break;
case 2: // 脚本确认
case 2: // 脚本审核
task.setScriptReviewTime(currentTime);
task.setScriptConfirmTime(null);
task.setVideoCreateTime(null);
task.setVideoConfirmTime(null);
task.setFinishTime(null);
break;
case 3: // 脚本确认
task.setScriptConfirmTime(currentTime);
task.setVideoCaptureTime(null);
task.setVideoCreateTime(null);
task.setVideoConfirmTime(null);
task.setFinishTime(null);
break;
case 3: // 视频拍摄
task.setVideoCaptureTime(currentTime);
case 4: // 视频拍摄与制作
task.setVideoCreateTime(currentTime);
task.setVideoConfirmTime(null);
task.setFinishTime(null);
break;
case 4: // 视频确认
case 5: // 视频确认
task.setVideoConfirmTime(currentTime);
task.setFinishTime(null);
break;
case 5: // 任务完成
task.setFinishTime(currentTime);
break;
}
@ -164,7 +170,7 @@ public class LessonTaskService {
* 根据部门ID和状态查询课程任务列表分页
*
* @param departmentId 部门ID
* @param status 任务状态可选0-脚本上传, 1-脚本确认, 2-视频拍摄, 3-后期制作, 4-任务完成
* @param status 任务状态可选0-未开始, 1-脚本制作, 2-脚本审核, 3-脚本确认, 4-视频拍摄与制作, 5-视频确认
* @param pageable 分页参数
* @return 课程任务分页数据
*/
@ -191,7 +197,7 @@ public class LessonTaskService {
throw new IllegalArgumentException("课程名称不能为空");
}
if (request.getMicroLessonName() == null || request.getMicroLessonName().trim().isEmpty()) {
throw new IllegalArgumentException("课名称不能为空");
throw new IllegalArgumentException("课名称不能为空");
}
if (request.getUserId() == null) {
throw new IllegalArgumentException("用户ID不能为空");

View File

@ -76,9 +76,8 @@ public class UserService implements UserDetailsService {
user.setJobs(request.getJobs());
user.setCreatorId(request.getCreatorId());
user.setStatus(1);
user.setCreatedAt(System.currentTimeMillis() / 1000);
user.setUpdatedAt(System.currentTimeMillis() / 1000);
// 时间戳由 @PrePersist 处理,这里不需要手动设置
userRepository.save(user);
return ApiResponse.success();