|
@@ -36,10 +36,7 @@ import cn.com.qmth.examcloud.reports.commons.bean.OnlineExamStudentReport;
|
|
|
import cn.com.qmth.examcloud.reports.commons.bean.OnlineStudentReport;
|
|
|
import cn.com.qmth.examcloud.reports.commons.util.ReportsUtil;
|
|
|
import cn.com.qmth.examcloud.support.cache.CacheHelper;
|
|
|
-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.cache.bean.*;
|
|
|
import cn.com.qmth.examcloud.web.bootstrap.PropertyHolder;
|
|
|
import cn.com.qmth.examcloud.web.exception.SequenceLockException;
|
|
|
import cn.com.qmth.examcloud.web.helpers.GlobalHelper;
|
|
@@ -140,6 +137,8 @@ public class ExamControlServiceImpl implements ExamControlService {
|
|
|
private ExamCaptureQueueRepo examCaptureQueueRepo;
|
|
|
@Autowired
|
|
|
private ExamCaptureCloudService examCaptureCloudService;
|
|
|
+ @Autowired
|
|
|
+ FaceBiopsyService faceBiopsyService;
|
|
|
@Value("${audio.app.url}")
|
|
|
private String audioAppUrl;
|
|
|
@Value("${$upyun.site.1.bucketName}")
|
|
@@ -155,6 +154,8 @@ public class ExamControlServiceImpl implements ExamControlService {
|
|
|
@Value("${$upyun.site.1.domain}")
|
|
|
private String upyunFileUrl;
|
|
|
|
|
|
+ private final String NEW_FACE_BIOPSY_SCHEME = "S2";
|
|
|
+
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public StartExamInfo startExam(Long examStudentId, User user) {
|
|
@@ -878,9 +879,22 @@ public class ExamControlServiceImpl implements ExamControlService {
|
|
|
checkExamInProgressInfo.setInterruptNum(examingRecord.getContinuedCount());
|
|
|
|
|
|
// 断点续考时重新计算活体检测的分钟数
|
|
|
- checkExamInProgressInfo.setFaceVerifyMinute(examFaceLivenessVerifyService.getFaceLivenessVerifyMinute(
|
|
|
- examStudentEntity.getOrgId(), examStudentEntity.getExamId(),
|
|
|
- examingRecord.getExamRecordDataId(), examSessionInfo.getHeartbeat()));
|
|
|
+ Integer faceVerifyMinute = null;
|
|
|
+ OrgPropertyCacheBean orgProperty = CacheHelper.getOrgProperty(examStudentEntity.getRootOrgId(),
|
|
|
+ Constants.IDENTIFICATION_OF_LIVING_BODY_SCHEME_KEY);
|
|
|
+
|
|
|
+ //如果是新活体检测方案,则使用新的计算方案计算活检开始时间
|
|
|
+ if (NEW_FACE_BIOPSY_SCHEME.equals(orgProperty.getValue())) {
|
|
|
+ faceVerifyMinute = examFaceLivenessVerifyService.getFaceLivenessVerifyMinute(
|
|
|
+ examStudentEntity.getOrgId(), examStudentEntity.getExamId(),
|
|
|
+ examingRecord.getExamRecordDataId(), examSessionInfo.getHeartbeat());
|
|
|
+ }
|
|
|
+ //非新活检,默认使用旧的活检计算方式
|
|
|
+ else {
|
|
|
+ faceVerifyMinute = faceBiopsyService.getFaceBiopsyStartMinute(examingRecord.getExamRecordDataId());
|
|
|
+ }
|
|
|
+
|
|
|
+ checkExamInProgressInfo.setFaceVerifyMinute(faceVerifyMinute);
|
|
|
return checkExamInProgressInfo;
|
|
|
}
|
|
|
}
|