修正学习会话计时指针与时间单位定义
This commit is contained in:
@@ -95,6 +95,8 @@ public class StudySessionsEntity extends BaseEntity implements Serializable {
|
||||
StudySessionsEntity studySessionsEntity = new StudySessionsEntity();
|
||||
studySessionsEntity.setSessionNum(GenerateNumTool.generateNum("SESSION"));
|
||||
studySessionsEntity.setStartTime(LocalDateTime.now());
|
||||
studySessionsEntity.setLastStartTime(LocalDateTime.now());
|
||||
studySessionsEntity.setPointerPosition(WORK_DURATION * 60 * 1000L);
|
||||
studySessionsEntity.setLastModifiedTime(LocalDateTime.now());
|
||||
studySessionsEntity.setSessionState(StudySessionStateEnum.ONGOING.name());
|
||||
return studySessionsEntity;
|
||||
@@ -150,13 +152,7 @@ public class StudySessionsEntity extends BaseEntity implements Serializable {
|
||||
* @return
|
||||
*/
|
||||
public boolean isFirstRun() {
|
||||
if (ObjectUtils.isEmpty(this.lastStartTime)) {
|
||||
return false;
|
||||
} else if (this.lastStartTime.equals(this.startTime)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
return ObjectUtils.isEmpty(this.pointerPosition);
|
||||
}
|
||||
|
||||
|
||||
@@ -187,10 +183,13 @@ public class StudySessionsEntity extends BaseEntity implements Serializable {
|
||||
|
||||
case ONGOING:
|
||||
long elapsedMillis = Duration.between(lastStartTime, LocalDateTime.now()).toMillis();
|
||||
long newPointerPosition = pointerPosition - elapsedMillis;
|
||||
long basePointerPosition = ObjectUtils.isEmpty(pointerPosition)
|
||||
? WORK_DURATION * 60 * 1000L
|
||||
: pointerPosition;
|
||||
long newPointerPosition = basePointerPosition - elapsedMillis;
|
||||
if (newPointerPosition <= 0) {
|
||||
// 如果循环已经结束,则需要重置指针位置
|
||||
this.pointerPosition = WORK_DURATION * 1000L;
|
||||
this.pointerPosition = WORK_DURATION * 60 * 1000L;
|
||||
} else {
|
||||
this.pointerPosition = newPointerPosition;
|
||||
}
|
||||
@@ -215,4 +214,4 @@ public class StudySessionsEntity extends BaseEntity implements Serializable {
|
||||
long minutes = Duration.between(ObjectUtils.isEmpty(lastStartTime) ? LocalDateTime.now() : lastStartTime, now).toMinutes();
|
||||
return minutes >= WORK_DURATION * 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user