|
@@ -6,10 +6,7 @@ import com.qmth.themis.business.cache.ExamRecordCacheUtil;
|
|
|
import com.qmth.themis.business.cache.bean.ExamCacheBean;
|
|
|
import com.qmth.themis.business.constant.SystemConstant;
|
|
|
import com.qmth.themis.business.dto.MqDto;
|
|
|
-import com.qmth.themis.business.enums.MonitorStatusSourceEnum;
|
|
|
-import com.qmth.themis.business.enums.MonitorVideoSourceEnum;
|
|
|
-import com.qmth.themis.business.enums.MqTagEnum;
|
|
|
-import com.qmth.themis.business.enums.WebsocketStatusEnum;
|
|
|
+import com.qmth.themis.business.enums.*;
|
|
|
import com.qmth.themis.business.service.MqDtoService;
|
|
|
import com.qmth.themis.business.service.TEExamService;
|
|
|
import com.qmth.themis.business.service.TOeExamRecordService;
|
|
@@ -110,17 +107,20 @@ public class TELivenessController {
|
|
|
mqDtoService.assembleSendAsyncMsg(mqDto);
|
|
|
|
|
|
Long examId = ExamRecordCacheUtil.getExamId(param.getRecordId());
|
|
|
- if(Objects.nonNull(examId)) {
|
|
|
- Long timestamp = System.currentTimeMillis();
|
|
|
- ExamRecordCacheUtil.setClientWebsocketStatus(param.getRecordId(), 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(param.getRecordId(), MonitorVideoSourceEnum.valueOf(strs[i]), MonitorStatusSourceEnum.START, System.currentTimeMillis());
|
|
|
+ if (Objects.nonNull(examId)) {
|
|
|
+ ExamRecordStatusEnum statusEnum = ExamRecordCacheUtil.getStatus(param.getRecordId());
|
|
|
+ if (Objects.nonNull(statusEnum) && statusEnum == ExamRecordStatusEnum.ANSWERING) {
|
|
|
+ Long timestamp = System.currentTimeMillis();
|
|
|
+ ExamRecordCacheUtil.setClientWebsocketStatus(param.getRecordId(), 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(param.getRecordId(), MonitorVideoSourceEnum.valueOf(strs[i]), MonitorStatusSourceEnum.START, System.currentTimeMillis());
|
|
|
+ }
|
|
|
}
|
|
|
+ tOeExamRecordService.sendExamRecordDataSaveMq(param.getRecordId(), timestamp);
|
|
|
}
|
|
|
- tOeExamRecordService.sendExamRecordDataSaveMq(param.getRecordId(), timestamp);
|
|
|
}
|
|
|
return ResultUtil.ok(ret);
|
|
|
}
|