feat: 任务开始页面,相关逻辑补充
This commit is contained in:
@@ -8,6 +8,7 @@ import com.guo.learningprogresstracker.enums.StudySessionStateEnum;
|
||||
import com.guo.learningprogresstracker.utils.GenerateNumTool;
|
||||
import lombok.Data;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.Duration;
|
||||
@@ -98,7 +99,7 @@ public class StudySessionsEntity extends BaseEntity implements Serializable {
|
||||
this.setSessionState(StudySessionStateEnum.ONGOING.name());
|
||||
this.setLastStartTime(LocalDateTime.now());
|
||||
} else if (this.getSessionState().equals(StudySessionStateEnum.ONGOING.name())) {
|
||||
log.info("进行中的学习会话({})被重新获取",this.getSessionNum());
|
||||
log.info("进行中的学习会话({})被重新开始",this.getSessionNum());
|
||||
} else{
|
||||
log.warn("不应出现的情况:开始了一个状态为【{}】的学习会话({})",this.getSessionState(),this.getSessionNum());
|
||||
}
|
||||
@@ -107,15 +108,15 @@ public class StudySessionsEntity extends BaseEntity implements Serializable {
|
||||
/**
|
||||
* 暂停会话
|
||||
*/
|
||||
public void pausedStudySession(){
|
||||
if (this.getSessionState().equals(StudySessionStateEnum.PAUSED.name())){
|
||||
log.warn("不应出现的情况:暂停了一个状态为【{}】的学习会话",this.getSessionState());
|
||||
public void pausedStudySession(LocalDateTime endTime){
|
||||
if (this.getSessionState().equals(StudySessionStateEnum.PAUSED.name())) {
|
||||
log.warn("不应出现的情况:暂停了一个状态为【{}】的学习会话({})", this.getSessionState(), this.getSessionNum());
|
||||
//
|
||||
}else {
|
||||
this.setEndTime(LocalDateTime.now());
|
||||
this.setActualTime(Duration.between(this.startTime,this.endTime).toSeconds());
|
||||
this.setEffectiveTime(this.getEffectiveTime()+Duration.between(this.lastStartTime,this.endTime).toSeconds());
|
||||
this.setEffectivenessRatio(this.effectiveTime/this.actualTime);
|
||||
} else {
|
||||
this.setEndTime(ObjectUtils.isEmpty(endTime) ? LocalDateTime.now() : endTime);
|
||||
this.setActualTime(Duration.between(this.startTime, this.endTime).toSeconds());
|
||||
this.setEffectiveTime(this.getEffectiveTime() + Duration.between(this.lastStartTime, this.endTime).toSeconds());
|
||||
this.setEffectivenessRatio(this.effectiveTime / this.actualTime);
|
||||
this.setSessionState(StudySessionStateEnum.PAUSED.name());
|
||||
}
|
||||
}
|
||||
@@ -128,7 +129,7 @@ public class StudySessionsEntity extends BaseEntity implements Serializable {
|
||||
log.warn("不应出现的情况:结束了一个状态为【{}】的学习会话",this.getSessionState());
|
||||
}else {
|
||||
if (this.getSessionState().equals(StudySessionStateEnum.ONGOING.name())) {
|
||||
this.pausedStudySession();
|
||||
this.pausedStudySession(endTime);
|
||||
}
|
||||
this.setSessionState(StudySessionStateEnum.ENDED.name());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user