|
@@ -219,17 +219,20 @@ public class SyncExamDataCloudServiceProvider extends ControllerSupport implemen
|
|
|
String illegalReason = redisClient.get(CacheConstants.CACHE_OE_DISCIPLINE_ILLEGAL_CLIENT + tempExamRecordDataId, String.class);
|
|
|
if (StringUtils.isNotEmpty(illegalReason)) {
|
|
|
examAuditService.saveExamAuditForIllegalClient(realExamRecordDataId, illegalReason);
|
|
|
+ LOG.warn("{}_{}_{} ILLEGAL_CLIENT...", studentId, tempExamRecordDataId, realExamRecordDataId);
|
|
|
}
|
|
|
|
|
|
//【违纪】非法数据(已废弃)
|
|
|
Boolean hasIllegal = redisClient.get(CacheConstants.CACHE_OE_DISCIPLINE_ILLEGAL_DATA + tempExamRecordDataId, Boolean.class);
|
|
|
if (hasIllegal != null && hasIllegal) {
|
|
|
examAuditService.saveHeaderWarnAudit(realExamRecordDataId);
|
|
|
+ LOG.warn("{}_{}_{} ILLEGAL_DATA...", studentId, tempExamRecordDataId, realExamRecordDataId);
|
|
|
}
|
|
|
|
|
|
//【违纪】超过切屏次数限制
|
|
|
if (tempExamRecordData.getExceedMaxSwitchScreenCount() != null && tempExamRecordData.getExceedMaxSwitchScreenCount()) {
|
|
|
examAuditService.saveExceedMaxSwitchScreenCount(realExamRecordDataId);
|
|
|
+ LOG.warn("{}_{}_{} EXCEED_MAX_SWITCH_SCREEN_COUNT...", studentId, tempExamRecordDataId, realExamRecordDataId);
|
|
|
}
|
|
|
|
|
|
//若开启人脸验证
|
|
@@ -239,14 +242,16 @@ public class SyncExamDataCloudServiceProvider extends ControllerSupport implemen
|
|
|
examWarnService.saveExamWarn(realExamRecordDataId, WarnType.SKIP_FACE);
|
|
|
//修改为异常状态
|
|
|
examRecordDataRepo.updateExamRecordIsWarnById(realExamRecordDataId, true);
|
|
|
- } else {
|
|
|
- //无“开考人脸识别”结果
|
|
|
- if (req.getExamSyncCapture() == null) {
|
|
|
- //【异常】开考照片缺失
|
|
|
- examWarnService.saveExamWarn(realExamRecordDataId, WarnType.MISS_FACE);
|
|
|
- //修改为异常状态
|
|
|
- examRecordDataRepo.updateExamRecordIsWarnById(realExamRecordDataId, true);
|
|
|
- }
|
|
|
+ LOG.warn("{}_{}_{} SKIP_FACE...", studentId, tempExamRecordDataId, realExamRecordDataId);
|
|
|
+ }
|
|
|
+
|
|
|
+ //无“开考人脸识别”结果
|
|
|
+ if (req.getExamSyncCapture() == null) {
|
|
|
+ //【异常】开考照片缺失
|
|
|
+ examWarnService.saveExamWarn(realExamRecordDataId, WarnType.MISS_FACE);
|
|
|
+ //修改为异常状态
|
|
|
+ examRecordDataRepo.updateExamRecordIsWarnById(realExamRecordDataId, true);
|
|
|
+ LOG.warn("{}_{}_{} MISS_FACE...", studentId, tempExamRecordDataId, realExamRecordDataId);
|
|
|
}
|
|
|
|
|
|
//无“人脸抓拍比对”结果
|
|
@@ -255,21 +260,24 @@ public class SyncExamDataCloudServiceProvider extends ControllerSupport implemen
|
|
|
examAuditService.saveExamAuditByNoPhoto(realExamRecordDataId);
|
|
|
//修改为已审状态
|
|
|
examRecordDataRepo.updateExamRecordIsAuditById(realExamRecordDataId, true);
|
|
|
- } else {
|
|
|
- //活检失败
|
|
|
- if (tempExamRecordData.getIllegality() && tempExamRecordData.getFaceVerifyResult() != null
|
|
|
- && IsSuccess.FAILED.name().equals(tempExamRecordData.getFaceVerifyResult())) {
|
|
|
- //【违纪】指定动作失败
|
|
|
- examAuditService.saveExamAuditByFaceVerifyFailed(realExamRecordDataId, rootOrgId);
|
|
|
- //修改为已审状态
|
|
|
- examRecordDataRepo.updateExamRecordIsAuditById(realExamRecordDataId, true);
|
|
|
- }
|
|
|
+ LOG.warn("{}_{}_{} OTHER_抓拍照片数量为0...", studentId, tempExamRecordDataId, realExamRecordDataId);
|
|
|
+ }
|
|
|
+
|
|
|
+ //活检失败
|
|
|
+ if (tempExamRecordData.getIllegality() && tempExamRecordData.getFaceVerifyResult() != null
|
|
|
+ && IsSuccess.FAILED.name().equals(tempExamRecordData.getFaceVerifyResult())) {
|
|
|
+ //【违纪】指定动作失败
|
|
|
+ examAuditService.saveExamAuditByFaceVerifyFailed(realExamRecordDataId, rootOrgId);
|
|
|
+ //修改为已审状态
|
|
|
+ examRecordDataRepo.updateExamRecordIsAuditById(realExamRecordDataId, true);
|
|
|
+ LOG.warn("{}_{}_{} ACTION_FAILURE...", studentId, tempExamRecordDataId, realExamRecordDataId);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//若开启审核全通过
|
|
|
if (isAuditAllPass) {
|
|
|
auditPassExamRecordData(realExamRecordDataId);
|
|
|
+ LOG.warn("{}_{}_{} AuditAllPass...", studentId, tempExamRecordDataId, realExamRecordDataId);
|
|
|
}
|
|
|
|
|
|
//计算最终分数(这个步骤必须放在所有改变“违纪、警告、审核状态”的操作之后)
|