|
@@ -1404,16 +1404,13 @@ public class TOeExamRecordServiceImpl extends ServiceImpl<TOeExamRecordMapper, T
|
|
|
Integer breakExpireSeconds = Objects.isNull(ec.getBreakExpireSeconds()) ? 0 : ec.getBreakExpireSeconds();
|
|
|
Integer durationSeconds = Objects.isNull(ExamRecordCacheUtil.getDurationSeconds(recordId)) ? 0 : ExamRecordCacheUtil.getDurationSeconds(recordId);
|
|
|
Integer alreadyBreakCount = Objects.isNull(ExamRecordCacheUtil.getAlreadyBreakCount(recordId)) ? 0 : ExamRecordCacheUtil.getAlreadyBreakCount(recordId);
|
|
|
- Integer leftBreakResumeCount = ec.getBreakResumeCount() - alreadyBreakCount;
|
|
|
- if (ec.getBreakResumeCount().intValue() == 0 && alreadyBreakCount.intValue() == 0) {
|
|
|
- leftBreakResumeCount = 1;
|
|
|
- }
|
|
|
+ Integer leftBreakResumeCount = ec.getBreakResumeCount().intValue() - alreadyBreakCount.intValue();
|
|
|
if (Objects.nonNull(lastBreakTime)
|
|
|
&& (System.currentTimeMillis() - lastBreakTime.longValue()) / 1000 >= breakExpireSeconds) {
|
|
|
finished = true;
|
|
|
examService.finish(examStudentCacheBean.getStudentId(), recordId, FinishTypeEnum.AUTO.name(), durationSeconds);
|
|
|
} else {
|
|
|
- if (leftBreakResumeCount.intValue() <= 0) {
|
|
|
+ if (leftBreakResumeCount.intValue() < 0) {
|
|
|
finished = true;
|
|
|
examService.finish(examStudentCacheBean.getStudentId(), recordId, FinishTypeEnum.AUTO.name(), durationSeconds);
|
|
|
}
|