|
@@ -1,5 +1,23 @@
|
|
package cn.com.qmth.examcloud.core.oe.student.service.impl;
|
|
package cn.com.qmth.examcloud.core.oe.student.service.impl;
|
|
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
+import java.util.Collections;
|
|
|
|
+import java.util.Date;
|
|
|
|
+import java.util.HashMap;
|
|
|
|
+import java.util.HashSet;
|
|
|
|
+import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
|
|
+import java.util.Random;
|
|
|
|
+import java.util.Set;
|
|
|
|
+
|
|
|
|
+import org.apache.commons.collections.CollectionUtils;
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
|
+import org.slf4j.Logger;
|
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
+
|
|
import cn.com.qmth.examcloud.api.commons.enums.ExamSpecialSettingsType;
|
|
import cn.com.qmth.examcloud.api.commons.enums.ExamSpecialSettingsType;
|
|
import cn.com.qmth.examcloud.api.commons.security.bean.User;
|
|
import cn.com.qmth.examcloud.api.commons.security.bean.User;
|
|
import cn.com.qmth.examcloud.commons.exception.StatusException;
|
|
import cn.com.qmth.examcloud.commons.exception.StatusException;
|
|
@@ -8,10 +26,13 @@ import cn.com.qmth.examcloud.core.oe.student.base.enums.ExamProperties;
|
|
import cn.com.qmth.examcloud.core.oe.student.base.helper.ExamCacheTransferHelper;
|
|
import cn.com.qmth.examcloud.core.oe.student.base.helper.ExamCacheTransferHelper;
|
|
import cn.com.qmth.examcloud.core.oe.student.base.utils.CommonUtil;
|
|
import cn.com.qmth.examcloud.core.oe.student.base.utils.CommonUtil;
|
|
import cn.com.qmth.examcloud.core.oe.student.base.utils.QuestionTypeUtil;
|
|
import cn.com.qmth.examcloud.core.oe.student.base.utils.QuestionTypeUtil;
|
|
-import cn.com.qmth.examcloud.core.oe.student.bean.ExamRecordDataBean;
|
|
|
|
import cn.com.qmth.examcloud.core.oe.student.bean.StartExamInfo;
|
|
import cn.com.qmth.examcloud.core.oe.student.bean.StartExamInfo;
|
|
import cn.com.qmth.examcloud.core.oe.student.dao.enums.HandInExamType;
|
|
import cn.com.qmth.examcloud.core.oe.student.dao.enums.HandInExamType;
|
|
-import cn.com.qmth.examcloud.core.oe.student.service.*;
|
|
|
|
|
|
+import cn.com.qmth.examcloud.core.oe.student.service.ExamControlService;
|
|
|
|
+import cn.com.qmth.examcloud.core.oe.student.service.ExamRecordDataService;
|
|
|
|
+import cn.com.qmth.examcloud.core.oe.student.service.ExamRecordPaperStructService;
|
|
|
|
+import cn.com.qmth.examcloud.core.oe.student.service.ExamRecordQuestionsService;
|
|
|
|
+import cn.com.qmth.examcloud.core.oe.student.service.ExamingSessionService;
|
|
import cn.com.qmth.examcloud.core.oe.task.api.ExamCaptureCloudService;
|
|
import cn.com.qmth.examcloud.core.oe.task.api.ExamCaptureCloudService;
|
|
import cn.com.qmth.examcloud.core.oe.task.api.request.SaveExamCaptureSyncCompareResultReq;
|
|
import cn.com.qmth.examcloud.core.oe.task.api.request.SaveExamCaptureSyncCompareResultReq;
|
|
import cn.com.qmth.examcloud.examwork.api.bean.ExamBean;
|
|
import cn.com.qmth.examcloud.examwork.api.bean.ExamBean;
|
|
@@ -23,19 +44,17 @@ import cn.com.qmth.examcloud.question.commons.core.question.QuestionType;
|
|
import cn.com.qmth.examcloud.reports.commons.bean.OnlineExamStudentReport;
|
|
import cn.com.qmth.examcloud.reports.commons.bean.OnlineExamStudentReport;
|
|
import cn.com.qmth.examcloud.reports.commons.util.ReportsUtil;
|
|
import cn.com.qmth.examcloud.reports.commons.util.ReportsUtil;
|
|
import cn.com.qmth.examcloud.support.cache.CacheHelper;
|
|
import cn.com.qmth.examcloud.support.cache.CacheHelper;
|
|
-import cn.com.qmth.examcloud.support.cache.bean.*;
|
|
|
|
|
|
+import cn.com.qmth.examcloud.support.cache.bean.ExamOrgSettingsCacheBean;
|
|
|
|
+import cn.com.qmth.examcloud.support.cache.bean.ExamPropertyCacheBean;
|
|
|
|
+import cn.com.qmth.examcloud.support.cache.bean.ExamStudentSettingsCacheBean;
|
|
|
|
+import cn.com.qmth.examcloud.support.cache.bean.ExtractConfigCacheBean;
|
|
|
|
+import cn.com.qmth.examcloud.support.cache.bean.ExtractConfigDetailCacheBean;
|
|
|
|
+import cn.com.qmth.examcloud.support.cache.bean.ExtractConfigPaperCacheBean;
|
|
|
|
+import cn.com.qmth.examcloud.support.cache.bean.SysPropertyCacheBean;
|
|
|
|
+import cn.com.qmth.examcloud.support.examing.ExamRecordData;
|
|
import cn.com.qmth.examcloud.support.examing.ExamingSession;
|
|
import cn.com.qmth.examcloud.support.examing.ExamingSession;
|
|
import cn.com.qmth.examcloud.support.examing.ExamingStatus;
|
|
import cn.com.qmth.examcloud.support.examing.ExamingStatus;
|
|
import cn.com.qmth.examcloud.support.helper.FaceBiopsyHelper;
|
|
import cn.com.qmth.examcloud.support.helper.FaceBiopsyHelper;
|
|
-import org.apache.commons.collections.CollectionUtils;
|
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
|
-import org.slf4j.Logger;
|
|
|
|
-import org.slf4j.LoggerFactory;
|
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
|
-
|
|
|
|
-import java.util.*;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* @author chenken
|
|
* @author chenken
|
|
@@ -124,7 +143,7 @@ public class ExamControlServiceImpl implements ExamControlService {
|
|
|
|
|
|
// 生成考试记录
|
|
// 生成考试记录
|
|
startTime = System.currentTimeMillis();
|
|
startTime = System.currentTimeMillis();
|
|
- ExamRecordDataBean examRecordData = examRecordDataService.createExamRecordData(examingSession, examBean,
|
|
|
|
|
|
+ ExamRecordData examRecordData = examRecordDataService.createExamRecordData(examingSession, examBean,
|
|
courseBean, paperId);
|
|
courseBean, paperId);
|
|
|
|
|
|
// 如果开启人脸比对,将同步人脸比对结果存储到抓后结果表中
|
|
// 如果开启人脸比对,将同步人脸比对结果存储到抓后结果表中
|
|
@@ -452,7 +471,7 @@ public class ExamControlServiceImpl implements ExamControlService {
|
|
* @param examRecordData
|
|
* @param examRecordData
|
|
* @param examBean
|
|
* @param examBean
|
|
*/
|
|
*/
|
|
- public void initializeExamRecordSession(ExamingSession examSessionInfo, ExamRecordDataBean examRecordData,
|
|
|
|
|
|
+ public void initializeExamRecordSession(ExamingSession examSessionInfo, ExamRecordData examRecordData,
|
|
final ExamBean examBean) {
|
|
final ExamBean examBean) {
|
|
examSessionInfo.setExamRecordDataId(examRecordData.getId());
|
|
examSessionInfo.setExamRecordDataId(examRecordData.getId());
|
|
examSessionInfo.setStartTime(examRecordData.getStartTime().getTime());
|
|
examSessionInfo.setStartTime(examRecordData.getStartTime().getTime());
|