|
@@ -9,6 +9,7 @@ import com.qmth.themis.business.constant.SystemConstant;
|
|
|
import com.qmth.themis.business.entity.TOeExamRecord;
|
|
|
import com.qmth.themis.business.enums.ExamRecordStatusEnum;
|
|
|
import com.qmth.themis.business.enums.FinishTypeEnum;
|
|
|
+import com.qmth.themis.business.enums.WebsocketStatusEnum;
|
|
|
import com.qmth.themis.business.service.*;
|
|
|
import com.qmth.themis.task.quartz.service.QuartzLogicService;
|
|
|
import org.slf4j.Logger;
|
|
@@ -84,6 +85,9 @@ public class QuartzLogicServiceImpl implements QuartzLogicService {
|
|
|
commonService.deleteExamStudentCache(s.getId(), examStudentCacheBean.getStudentId());
|
|
|
s.setStatus(ExamRecordStatusEnum.JUNK);
|
|
|
s.setUpdateTime(System.currentTimeMillis());
|
|
|
+ if (Objects.nonNull(s.getClientWebsocketStatus()) && s.getClientWebsocketStatus() == WebsocketStatusEnum.ON_LINE) {
|
|
|
+ s.setClientWebsocketStatus(WebsocketStatusEnum.OFF_LINE);
|
|
|
+ }
|
|
|
updateExamRecordList.add(s);
|
|
|
commonService.DismissRoomByStrRoomId(s.getId());
|
|
|
} else {//交卷
|
|
@@ -123,6 +127,9 @@ public class QuartzLogicServiceImpl implements QuartzLogicService {
|
|
|
commonService.deleteExamStudentCache(s.getId(), examStudentCacheBean.getStudentId());
|
|
|
s.setStatus(ExamRecordStatusEnum.JUNK);
|
|
|
s.setUpdateTime(System.currentTimeMillis());
|
|
|
+ if (Objects.nonNull(s.getClientWebsocketStatus()) && s.getClientWebsocketStatus() == WebsocketStatusEnum.ON_LINE) {
|
|
|
+ s.setClientWebsocketStatus(WebsocketStatusEnum.OFF_LINE);
|
|
|
+ }
|
|
|
updateExamRecordList.add(s);
|
|
|
commonService.DismissRoomByStrRoomId(s.getId());
|
|
|
} else {//交卷
|
|
@@ -175,6 +182,9 @@ public class QuartzLogicServiceImpl implements QuartzLogicService {
|
|
|
commonService.deleteExamStudentCache(recordId, examStudentCacheBean.getStudentId());
|
|
|
tOeExamRecord.setStatus(ExamRecordStatusEnum.JUNK);
|
|
|
tOeExamRecord.setUpdateTime(System.currentTimeMillis());
|
|
|
+ if (Objects.nonNull(tOeExamRecord.getClientWebsocketStatus()) && tOeExamRecord.getClientWebsocketStatus() == WebsocketStatusEnum.ON_LINE) {
|
|
|
+ tOeExamRecord.setClientWebsocketStatus(WebsocketStatusEnum.OFF_LINE);
|
|
|
+ }
|
|
|
commonService.DismissRoomByStrRoomId(recordId);
|
|
|
} else {//交卷
|
|
|
Long recordEndTime = ExamRecordCacheUtil.getEndTime(recordId);
|