[xingyu.guo] feat: 1. 替换所有响应值中的id为num,不将非业务字段展示给外部 2. 调整[实际使用时间]等字段类型为double,方便计算\保存与读取 3. 【获取所有任务列表】api,完善功能,并增加分页功能 4.将int类型修改为使用Integer,更加安全
This commit is contained in:
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.guo.learningprogresstracker.enums.StudySessionStateEnum;
|
||||
import com.guo.learningprogresstracker.utils.GenerateNumTool;
|
||||
import lombok.Data;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@@ -49,22 +50,22 @@ public class StudySessionsEntity extends BaseEntity implements Serializable {
|
||||
private LocalDateTime endTime;
|
||||
|
||||
/**
|
||||
* 实际使用时间(分钟)
|
||||
* 实际使用时间(秒)
|
||||
*/
|
||||
@TableField(value = "actual_time")
|
||||
private Integer actualTime;
|
||||
private double actualTime;
|
||||
|
||||
/**
|
||||
* 有效学习时间(分钟)
|
||||
* 有效学习时间(秒)
|
||||
*/
|
||||
@TableField(value = "effective_time")
|
||||
private Integer effectiveTime;
|
||||
private double effectiveTime;
|
||||
|
||||
/**
|
||||
* 有效时间比
|
||||
*/
|
||||
@TableField(value = "effectiveness_ratio")
|
||||
private Double effectivenessRatio;
|
||||
private double effectivenessRatio;
|
||||
|
||||
/**
|
||||
* 学习会话的状态(进行中、暂停、已结束)
|
||||
@@ -82,6 +83,7 @@ public class StudySessionsEntity extends BaseEntity implements Serializable {
|
||||
*/
|
||||
public static StudySessionsEntity initNewSession(){
|
||||
StudySessionsEntity studySessionsEntity = new StudySessionsEntity();
|
||||
studySessionsEntity.setSessionNum(GenerateNumTool.generateNum("SESSION"));
|
||||
studySessionsEntity.setStartTime(LocalDateTime.now());
|
||||
studySessionsEntity.setLastModifiedTime(LocalDateTime.now());
|
||||
studySessionsEntity.setSessionState(StudySessionStateEnum.ONGOING.name());
|
||||
@@ -105,11 +107,13 @@ public class StudySessionsEntity extends BaseEntity implements Serializable {
|
||||
*/
|
||||
public void pausedStudySession(){
|
||||
if (this.getSessionState().equals(StudySessionStateEnum.PAUSED.name())){
|
||||
log.warn("不应出现的情况:暂停了一个状态为【{}】的学习会话",this.getSessionState());
|
||||
//
|
||||
}else {
|
||||
this.setEndTime(LocalDateTime.now());
|
||||
this.setEffectiveTime((int) Duration.between(this.lastStartTime,this.endTime).toMinutes());
|
||||
this.setActualTime((int) Duration.between(this.endTime,this.startTime).toMinutes());
|
||||
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());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user