|
@@ -485,42 +485,46 @@ public class TEExamController {
|
|
ExamStudentCacheBean examStudentCacheBean = teExamStudentService
|
|
ExamStudentCacheBean examStudentCacheBean = teExamStudentService
|
|
.getExamStudentCacheBean(examActivityRecordCacheBean.getExamStudentId());
|
|
.getExamStudentCacheBean(examActivityRecordCacheBean.getExamStudentId());
|
|
if (Objects.nonNull(examStudentCacheBean)
|
|
if (Objects.nonNull(examStudentCacheBean)
|
|
- && examStudentCacheBean.getEnable().intValue() == 1 && Objects
|
|
|
|
- .nonNull(examRecordStatusEnum) && !Objects
|
|
|
|
- .equals(examRecordStatusEnum, ExamRecordStatusEnum.PERSISTED) && !Objects
|
|
|
|
- .equals(examRecordStatusEnum, ExamRecordStatusEnum.FINISHED)) {
|
|
|
|
|
|
+ && examStudentCacheBean.getEnable().intValue() == 1) {
|
|
//客户端通讯状态
|
|
//客户端通讯状态
|
|
WebsocketStatusEnum clientStatus = Objects
|
|
WebsocketStatusEnum clientStatus = Objects
|
|
.isNull(ExamRecordCacheUtil.getClientWebsocketStatus(recordId)) ?
|
|
.isNull(ExamRecordCacheUtil.getClientWebsocketStatus(recordId)) ?
|
|
null :
|
|
null :
|
|
ExamRecordCacheUtil.getClientWebsocketStatus(recordId);
|
|
ExamRecordCacheUtil.getClientWebsocketStatus(recordId);
|
|
- if (Objects.nonNull(clientStatus) && Objects
|
|
|
|
- .equals(clientStatus, WebsocketStatusEnum.OFF_LINE)) {
|
|
|
|
- clientWebsocketStatusCount.getAndSet(clientWebsocketStatusCount.get() + 1);
|
|
|
|
|
|
+ if (Objects
|
|
|
|
+ .nonNull(examRecordStatusEnum) && !Objects
|
|
|
|
+ .equals(examRecordStatusEnum, ExamRecordStatusEnum.PERSISTED) && !Objects
|
|
|
|
+ .equals(examRecordStatusEnum, ExamRecordStatusEnum.FINISHED)) {
|
|
|
|
+ if (Objects.nonNull(clientStatus) && Objects
|
|
|
|
+ .equals(clientStatus, WebsocketStatusEnum.OFF_LINE)) {
|
|
|
|
+ clientWebsocketStatusCount.getAndSet(clientWebsocketStatusCount.get() + 1);
|
|
|
|
+ }
|
|
|
|
+ //监控端通讯状态
|
|
|
|
+ if (Objects.nonNull(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_CAMERA)) && Objects.equals(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_CAMERA), MonitorStatusSourceEnum.STOP)) {
|
|
|
|
+ monitorStatusSourceCount.getAndSet(monitorStatusSourceCount.get() + 1);
|
|
|
|
+ } else if (Objects.nonNull(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_SCREEN)) && Objects.equals(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_SCREEN), MonitorStatusSourceEnum.STOP)) {
|
|
|
|
+ monitorStatusSourceCount.getAndSet(monitorStatusSourceCount.get() + 1);
|
|
|
|
+ } else if (Objects.nonNull(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.MOBILE_FIRST)) && Objects.equals(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.MOBILE_FIRST), MonitorStatusSourceEnum.STOP)) {
|
|
|
|
+ monitorStatusSourceCount.getAndSet(monitorStatusSourceCount.get() + 1);
|
|
|
|
+ } else if (Objects.nonNull(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.MOBILE_SECOND)) && Objects.equals(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.MOBILE_SECOND), MonitorStatusSourceEnum.STOP)) {
|
|
|
|
+ monitorStatusSourceCount.getAndSet(monitorStatusSourceCount.get() + 1);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- //监控端通讯状态
|
|
|
|
- if (Objects.nonNull(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_CAMERA)) && Objects.equals(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_CAMERA), MonitorStatusSourceEnum.STOP)) {
|
|
|
|
- monitorStatusSourceCount.getAndSet(monitorStatusSourceCount.get() + 1);
|
|
|
|
- } else if (Objects.nonNull(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_SCREEN)) && Objects.equals(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_SCREEN), MonitorStatusSourceEnum.STOP)) {
|
|
|
|
- monitorStatusSourceCount.getAndSet(monitorStatusSourceCount.get() + 1);
|
|
|
|
- } else if (Objects.nonNull(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.MOBILE_FIRST)) && Objects.equals(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.MOBILE_FIRST), MonitorStatusSourceEnum.STOP)) {
|
|
|
|
- monitorStatusSourceCount.getAndSet(monitorStatusSourceCount.get() + 1);
|
|
|
|
- } else if (Objects.nonNull(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.MOBILE_SECOND)) && Objects.equals(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.MOBILE_SECOND), MonitorStatusSourceEnum.STOP)) {
|
|
|
|
- monitorStatusSourceCount.getAndSet(monitorStatusSourceCount.get() + 1);
|
|
|
|
|
|
+ //已待考
|
|
|
|
+ if (Objects.equals(examRecordStatusEnum, ExamRecordStatusEnum.FIRST_PREPARE) && Objects.nonNull(clientStatus) && Objects
|
|
|
|
+ .equals(clientStatus, WebsocketStatusEnum.ON_LINE)) {
|
|
|
|
+ prepareCount.getAndSet(prepareCount.get() + 1);
|
|
|
|
+ }
|
|
|
|
+ //考试中
|
|
|
|
+ else if (Objects.equals(examRecordStatusEnum, ExamRecordStatusEnum.ANSWERING) && Objects.nonNull(clientStatus) && Objects
|
|
|
|
+ .equals(clientStatus, WebsocketStatusEnum.ON_LINE)) {
|
|
|
|
+ examCount.getAndSet(examCount.get() + 1);
|
|
|
|
+ }
|
|
|
|
+ //已完成
|
|
|
|
+ else if (Objects.equals(examRecordStatusEnum, ExamRecordStatusEnum.FINISHED) || Objects
|
|
|
|
+ .equals(examRecordStatusEnum, ExamRecordStatusEnum.PERSISTED)) {
|
|
|
|
+ finalAlreadyComplete.add(examActivityRecordCacheBean.getExamStudentId());
|
|
}
|
|
}
|
|
- }
|
|
|
|
- //已待考
|
|
|
|
- if (Objects.equals(examRecordStatusEnum, ExamRecordStatusEnum.FIRST_PREPARE)) {
|
|
|
|
- prepareCount.getAndSet(prepareCount.get() + 1);
|
|
|
|
- }
|
|
|
|
- //考试中
|
|
|
|
- else if (Objects.equals(examRecordStatusEnum, ExamRecordStatusEnum.ANSWERING)) {
|
|
|
|
- examCount.getAndSet(examCount.get() + 1);
|
|
|
|
- }
|
|
|
|
- //已完成
|
|
|
|
- else if (Objects.equals(examRecordStatusEnum, ExamRecordStatusEnum.FINISHED) || Objects
|
|
|
|
- .equals(examRecordStatusEnum, ExamRecordStatusEnum.PERSISTED)) {
|
|
|
|
- finalAlreadyComplete.add(examActivityRecordCacheBean.getExamStudentId());
|
|
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|