|
@@ -109,6 +109,7 @@ public class TEMobileServiceImpl implements TEMobileService {
|
|
ret.setAccessToken(token);
|
|
ret.setAccessToken(token);
|
|
ret.setTime(System.currentTimeMillis());
|
|
ret.setTime(System.currentTimeMillis());
|
|
ret.setMode(mode);
|
|
ret.setMode(mode);
|
|
|
|
+
|
|
//mq发送消息start
|
|
//mq发送消息start
|
|
MqDto mqDto = new MqDto(mqUtil.getTopic(), platform.name(), SystemOperationEnum.SESSION, sessionId);
|
|
MqDto mqDto = new MqDto(mqUtil.getTopic(), platform.name(), SystemOperationEnum.SESSION, sessionId);
|
|
mqDtoService.assembleSendOneWayMsg(mqDto);
|
|
mqDtoService.assembleSendOneWayMsg(mqDto);
|
|
@@ -134,7 +135,7 @@ public class TEMobileServiceImpl implements TEMobileService {
|
|
ret.setMonitorAppId(tencentYunUtil.getAppId());
|
|
ret.setMonitorAppId(tencentYunUtil.getAppId());
|
|
ret.setMonitorKey(ExamRecordCacheUtil.getMonitorKey(recordId));
|
|
ret.setMonitorKey(ExamRecordCacheUtil.getMonitorKey(recordId));
|
|
ret.setMonitorVideoSource(monitorVideoSource);
|
|
ret.setMonitorVideoSource(monitorVideoSource);
|
|
- ret.setMonitorAudioEnable(getMonitorAudioEnable(recordId, monitorVideoSource));
|
|
|
|
|
|
+ ret = getMonitorAudioEnable(recordId, monitorVideoSource, ret);
|
|
SysConfig sysConfig = themisCacheService.addSysConfigCache(SystemConstant.MONITOR_CONFIG_PREFIX);
|
|
SysConfig sysConfig = themisCacheService.addSysConfigCache(SystemConstant.MONITOR_CONFIG_PREFIX);
|
|
Optional.ofNullable(sysConfig).orElseThrow(() -> new BusinessException("未配置监控前缀"));
|
|
Optional.ofNullable(sysConfig).orElseThrow(() -> new BusinessException("未配置监控前缀"));
|
|
ret.setMonitorStreamId(SystemConstant.setStreamId(sysConfig.getConfigValue(), recordId, monitorVideoSource));
|
|
ret.setMonitorStreamId(SystemConstant.setStreamId(sysConfig.getConfigValue(), recordId, monitorVideoSource));
|
|
@@ -228,16 +229,26 @@ public class TEMobileServiceImpl implements TEMobileService {
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
|
|
- private Boolean getMonitorAudioEnable(Long recordId, MonitorVideoSourceEnum videoSource) {
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 设置是否允许考生端开启语音
|
|
|
|
+ *
|
|
|
|
+ * @param recordId
|
|
|
|
+ * @param videoSource
|
|
|
|
+ * @param ret
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ private MobileAuthorizationMonitorBean getMonitorAudioEnable(Long recordId, MonitorVideoSourceEnum videoSource, MobileAuthorizationMonitorBean ret) {
|
|
Long examId = ExamRecordCacheUtil.getExamId(recordId);
|
|
Long examId = ExamRecordCacheUtil.getExamId(recordId);
|
|
ExamCacheBean exam = examService.getExamCacheBean(examId);
|
|
ExamCacheBean exam = examService.getExamCacheBean(examId);
|
|
|
|
+ ret.setExamStudentCallEnable(exam.getExamStudentCallEnable());
|
|
String monitorVideoSource = exam.getMonitorVideoSource();
|
|
String monitorVideoSource = exam.getMonitorVideoSource();
|
|
if (!monitorVideoSource.toUpperCase().contains(MonitorVideoSourceEnum.CLIENT_SCREEN.name())
|
|
if (!monitorVideoSource.toUpperCase().contains(MonitorVideoSourceEnum.CLIENT_SCREEN.name())
|
|
&& !monitorVideoSource.toUpperCase().contains(MonitorVideoSourceEnum.CLIENT_CAMERA.name())
|
|
&& !monitorVideoSource.toUpperCase().contains(MonitorVideoSourceEnum.CLIENT_CAMERA.name())
|
|
&& MonitorVideoSourceEnum.MOBILE_FIRST.equals(videoSource)) {
|
|
&& MonitorVideoSourceEnum.MOBILE_FIRST.equals(videoSource)) {
|
|
- return true;
|
|
|
|
|
|
+ ret.setMonitorAudioEnable(true);
|
|
} else {
|
|
} else {
|
|
- return false;
|
|
|
|
|
|
+ ret.setMonitorAudioEnable(false);
|
|
}
|
|
}
|
|
|
|
+ return ret;
|
|
}
|
|
}
|
|
}
|
|
}
|