|
@@ -285,7 +285,7 @@ public class ExamControlServiceImpl implements ExamControlService {
|
|
Long examId = examRecordData.getExamId();
|
|
Long examId = examRecordData.getExamId();
|
|
Long orgId = examRecordData.getOrgId();
|
|
Long orgId = examRecordData.getOrgId();
|
|
|
|
|
|
- if (FaceBiopsyHelper.isFaceEnable(rootOrgId, examId, studentId)) {
|
|
|
|
|
|
+ if (FaceBiopsyHelper.isFaceEnable(rootOrgId, examId, studentId)) {
|
|
SaveExamCaptureSyncCompareResultReq req = new SaveExamCaptureSyncCompareResultReq();
|
|
SaveExamCaptureSyncCompareResultReq req = new SaveExamCaptureSyncCompareResultReq();
|
|
req.setExamRecordDataId(examRecordData.getId());
|
|
req.setExamRecordDataId(examRecordData.getId());
|
|
req.setStudentId(user.getUserId());
|
|
req.setStudentId(user.getUserId());
|
|
@@ -410,10 +410,10 @@ public class ExamControlServiceImpl implements ExamControlService {
|
|
*/
|
|
*/
|
|
private Integer getFaceVerifyMinute(Long rootOrgId, Long examId, Long orgId, Long studentId) {
|
|
private Integer getFaceVerifyMinute(Long rootOrgId, Long examId, Long orgId, Long studentId) {
|
|
// 如果开启了活体检测
|
|
// 如果开启了活体检测
|
|
- if (FaceBiopsyHelper.isFaceVerify(rootOrgId, examId, studentId)) {
|
|
|
|
|
|
+ if (FaceBiopsyHelper.isFaceVerify(rootOrgId, examId, studentId)) {
|
|
// 开始分钟数
|
|
// 开始分钟数
|
|
String startMinuteStr = ExamCacheTransferHelper
|
|
String startMinuteStr = ExamCacheTransferHelper
|
|
- .getCachedExamProperty(examId, studentId, ExamProperties.FACE_VERIFY_START_MINUTE.name()).getValue();
|
|
|
|
|
|
+ .getCachedExamProperty(examId, studentId, ExamProperties.FACE_VERIFY_START_MINUTE.name()).getValue();
|
|
if (CommonUtil.isBlank(startMinuteStr)) {
|
|
if (CommonUtil.isBlank(startMinuteStr)) {
|
|
throw new StatusException("ExamControlServiceImpl-getFaceVerifyMinute-001",
|
|
throw new StatusException("ExamControlServiceImpl-getFaceVerifyMinute-001",
|
|
ExamProperties.FACE_VERIFY_START_MINUTE.getDesc() + "未设置");
|
|
ExamProperties.FACE_VERIFY_START_MINUTE.getDesc() + "未设置");
|
|
@@ -450,11 +450,10 @@ public class ExamControlServiceImpl implements ExamControlService {
|
|
*/
|
|
*/
|
|
private ExamBean checkExam(ExamStudentEntity examStudentEntity) {
|
|
private ExamBean checkExam(ExamStudentEntity examStudentEntity) {
|
|
Long examId = examStudentEntity.getExamId();
|
|
Long examId = examStudentEntity.getExamId();
|
|
- Long orgId = examStudentEntity.getOrgId();
|
|
|
|
Long studentId = examStudentEntity.getStudentId();
|
|
Long studentId = examStudentEntity.getStudentId();
|
|
|
|
|
|
// 学习中心特殊考试配置(是否禁考,开考时间可以特殊设置)
|
|
// 学习中心特殊考试配置(是否禁考,开考时间可以特殊设置)
|
|
- ExamBean examBean = ExamCacheTransferHelper.getCachedExam(examId, studentId);
|
|
|
|
|
|
+ ExamBean examBean = ExamCacheTransferHelper.getCachedExam(examId, studentId);
|
|
|
|
|
|
//如果启用了了特殊设置,并且无特殊设置时结束考试 配置 设置为true..且实际未设置特殊设置则不允许考试
|
|
//如果启用了了特殊设置,并且无特殊设置时结束考试 配置 设置为true..且实际未设置特殊设置则不允许考试
|
|
ExamPropertyCacheBean limitedIfNoSpecialSettings = ExamCacheTransferHelper.getDefaultCachedExamProperty(examId,
|
|
ExamPropertyCacheBean limitedIfNoSpecialSettings = ExamCacheTransferHelper.getDefaultCachedExamProperty(examId,
|
|
@@ -472,6 +471,8 @@ public class ExamControlServiceImpl implements ExamControlService {
|
|
|
|
|
|
//机构特殊设置开启未配置,不允许考试
|
|
//机构特殊设置开启未配置,不允许考试
|
|
if (examBean.getSpecialSettingsType() == ExamSpecialSettingsType.ORG_BASED) {
|
|
if (examBean.getSpecialSettingsType() == ExamSpecialSettingsType.ORG_BASED) {
|
|
|
|
+ //需求调整,所有的组织机构取学生表所关联的orgId
|
|
|
|
+ Long orgId = CacheHelper.getStudent(studentId).getOrgId();
|
|
ExamOrgSettingsCacheBean specialSettings = CacheHelper.getExamOrgSettings(examId, orgId);
|
|
ExamOrgSettingsCacheBean specialSettings = CacheHelper.getExamOrgSettings(examId, orgId);
|
|
if (!specialSettings.getHasValue()) {
|
|
if (!specialSettings.getHasValue()) {
|
|
throw new StatusException("100015", "考试配置未完成,不允许考试");
|
|
throw new StatusException("100015", "考试配置未完成,不允许考试");
|
|
@@ -520,7 +521,7 @@ public class ExamControlServiceImpl implements ExamControlService {
|
|
examSessionInfo.setPaperType(examStudent.getPaperType());
|
|
examSessionInfo.setPaperType(examStudent.getPaperType());
|
|
// EXAM_RECONNECT_TIME:断点续考时间
|
|
// EXAM_RECONNECT_TIME:断点续考时间
|
|
String examReconnectTimeStr = ExamCacheTransferHelper
|
|
String examReconnectTimeStr = ExamCacheTransferHelper
|
|
- .getCachedExamProperty(examBean.getId(), examStudent.getStudentId(),
|
|
|
|
|
|
+ .getCachedExamProperty(examBean.getId(), examStudent.getStudentId(),
|
|
ExamProperties.EXAM_RECONNECT_TIME.name()).getValue();
|
|
ExamProperties.EXAM_RECONNECT_TIME.name()).getValue();
|
|
log.debug("11.2 断点时间:" + examReconnectTimeStr);
|
|
log.debug("11.2 断点时间:" + examReconnectTimeStr);
|
|
if (CommonUtil.isBlank(examReconnectTimeStr)) {
|
|
if (CommonUtil.isBlank(examReconnectTimeStr)) {
|
|
@@ -530,7 +531,7 @@ public class ExamControlServiceImpl implements ExamControlService {
|
|
examSessionInfo.setExamReconnectTime(Integer.valueOf(examReconnectTimeStr));
|
|
examSessionInfo.setExamReconnectTime(Integer.valueOf(examReconnectTimeStr));
|
|
// FREEZE_TIME:冻结时间
|
|
// FREEZE_TIME:冻结时间
|
|
String freezeTimeStr = ExamCacheTransferHelper
|
|
String freezeTimeStr = ExamCacheTransferHelper
|
|
- .getCachedExamProperty(examBean.getId(), examStudent.getStudentId(),
|
|
|
|
|
|
+ .getCachedExamProperty(examBean.getId(), examStudent.getStudentId(),
|
|
ExamProperties.FREEZE_TIME.name()).getValue();
|
|
ExamProperties.FREEZE_TIME.name()).getValue();
|
|
log.debug("11.3 冻结时间:" + freezeTimeStr);
|
|
log.debug("11.3 冻结时间:" + freezeTimeStr);
|
|
if (CommonUtil.isBlank(freezeTimeStr)) {
|
|
if (CommonUtil.isBlank(freezeTimeStr)) {
|