|
@@ -302,6 +302,21 @@ public class TEExamServiceImpl extends ServiceImpl<TEExamMapper, TEExam> impleme
|
|
|
examStudentId, ec, recordId, sysConfig.getConfigValue(), cache);
|
|
|
prepare.setTeExamActivityDto(teExamActivityDto);
|
|
|
ExamingDataCacheUtil.setExamingRecordId(studentId, recordId);
|
|
|
+
|
|
|
+ String clientWebSocketId = ExamRecordCacheUtil.getClientWebsocketId(recordId);
|
|
|
+ if (Objects.isNull(clientWebSocketId)) {
|
|
|
+ ExamRecordCacheUtil.setClientWebsocketId(recordId, SystemConstant.getNanoId());
|
|
|
+ }
|
|
|
+ Long timestamp = System.currentTimeMillis();
|
|
|
+ ExamRecordCacheUtil.setClientWebsocketStatus(recordId, WebsocketStatusEnum.ON_LINE, timestamp);
|
|
|
+ ExamCacheBean exam = teExamService.getExamCacheBean(examId);
|
|
|
+ if (Objects.nonNull(exam.getMonitorVideoSource())) {
|
|
|
+ String[] strs = exam.getMonitorVideoSource().split(",");
|
|
|
+ for (int i = 0; i < strs.length; i++) {
|
|
|
+ ExamRecordCacheUtil.setMonitorStatus(recordId, MonitorVideoSourceEnum.valueOf(strs[i]), MonitorStatusSourceEnum.START, System.currentTimeMillis());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ toeExamRecordService.sendExamRecordDataSaveMq(recordId, timestamp);
|
|
|
return prepare;
|
|
|
}
|
|
|
}
|