|
@@ -138,8 +138,8 @@ public class TIeInvigilateController {
|
|
|
monitorVideoSourceList = Arrays.asList(examCacheBean.getMonitorVideoSource().trim().toUpperCase().replaceAll(" ", "").split(","));
|
|
|
}
|
|
|
if (Objects.nonNull(invigilateListVideoBeanList) && invigilateListVideoBeanList.size() > 0) {
|
|
|
- List<String> finalMonitorVideoSourceList = monitorVideoSourceList;
|
|
|
ExamCacheBean finalExamCacheBean = examCacheBean;
|
|
|
+ List<String> finalMonitorVideoSourceList = monitorVideoSourceList;
|
|
|
invigilateListVideoBeanList.forEach(s -> {
|
|
|
if (Objects.nonNull(finalMonitorVideoSourceList) && finalMonitorVideoSourceList.size() > 0) {
|
|
|
finalMonitorVideoSourceList.forEach(l -> {
|
|
@@ -160,12 +160,12 @@ public class TIeInvigilateController {
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
- MonitorVideoSourceEnum source = MonitorVideoSourceEnum.CLIENT_CAMERA;
|
|
|
- if (Objects.nonNull(monitorVideoSource)) {
|
|
|
- source = MonitorVideoSourceEnum.valueOf(monitorVideoSource);
|
|
|
+ if (Objects.nonNull(finalMonitorVideoSourceList) && finalMonitorVideoSourceList.contains(MonitorVideoSourceEnum.CLIENT_CAMERA)) {
|
|
|
+ String monitorLiveUrl = SystemConstant.setStreamId(dictionaryConfig.monitorDomain().getPrefix(), s.getExamRecordId(), MonitorVideoSourceEnum.CLIENT_CAMERA);
|
|
|
+ if (Objects.nonNull(monitorLiveUrl)) {
|
|
|
+ s.setMonitorLiveUrl(monitorLiveUrl);
|
|
|
+ }
|
|
|
}
|
|
|
- String monitorLiveUrl = SystemConstant.setStreamId(dictionaryConfig.monitorDomain().getPrefix(), s.getExamRecordId(), source);
|
|
|
- s.setMonitorLiveUrl(monitorLiveUrl);
|
|
|
WebsocketStatusEnum websocketStatusEnum = ExamRecordCacheUtil.getClientWebsocketStatus(s.getExamRecordId());
|
|
|
if (Objects.nonNull(websocketStatusEnum)) {
|
|
|
s.setClientWebsocketStatus(websocketStatusEnum);
|
|
@@ -204,11 +204,18 @@ public class TIeInvigilateController {
|
|
|
if (Objects.nonNull(examId)) {
|
|
|
examCacheBean = teExamService.getExamCacheBean(examId);
|
|
|
}
|
|
|
+ List<String> monitorVideoSourceList = null;
|
|
|
+ if (Objects.nonNull(examCacheBean) && Objects.nonNull(examCacheBean.getMonitorVideoSource()) && !Objects.equals(examCacheBean.getMonitorVideoSource().toString().trim().replaceAll(" ", ""), "")) {
|
|
|
+ monitorVideoSourceList = Arrays.asList(examCacheBean.getMonitorVideoSource().trim().toUpperCase().replaceAll(" ", "").split(","));
|
|
|
+ }
|
|
|
ExamCacheBean finalExamCacheBean = examCacheBean;
|
|
|
+ List<String> finalMonitorVideoSourceList = monitorVideoSourceList;
|
|
|
invigilateListVideoBeanList.forEach(s -> {
|
|
|
- String monitorLiveUrl = SystemConstant.setStreamId(dictionaryConfig.monitorDomain().getPrefix(), s.getExamRecordId(), MonitorVideoSourceEnum.CLIENT_CAMERA);
|
|
|
- if (Objects.nonNull(monitorLiveUrl)) {
|
|
|
- s.setMonitorLiveUrl(monitorLiveUrl);
|
|
|
+ if (Objects.nonNull(finalMonitorVideoSourceList) && finalMonitorVideoSourceList.contains(MonitorVideoSourceEnum.CLIENT_CAMERA)) {
|
|
|
+ String monitorLiveUrl = SystemConstant.setStreamId(dictionaryConfig.monitorDomain().getPrefix(), s.getExamRecordId(), MonitorVideoSourceEnum.CLIENT_CAMERA);
|
|
|
+ if (Objects.nonNull(monitorLiveUrl)) {
|
|
|
+ s.setMonitorLiveUrl(monitorLiveUrl);
|
|
|
+ }
|
|
|
}
|
|
|
WebsocketStatusEnum websocketStatusEnum = ExamRecordCacheUtil.getClientWebsocketStatus(s.getExamRecordId());
|
|
|
if (Objects.nonNull(websocketStatusEnum)) {
|