|
@@ -378,55 +378,12 @@ public class TOeExamRecordServiceImpl extends ServiceImpl<TOeExamRecordMapper, T
|
|
.get(RedisKeyHelper.studentPaperStructKey(recordId));
|
|
.get(RedisKeyHelper.studentPaperStructKey(recordId));
|
|
|
|
|
|
//保存考试记录
|
|
//保存考试记录
|
|
- TOeExamRecord er = null;
|
|
|
|
- Map<String, Object> record = redisUtil.getHashEntries(RedisKeyHelper.examRecordCacheKey(recordId));
|
|
|
|
- Long timestamp = System.currentTimeMillis();
|
|
|
|
- if (!CollectionUtils.isEmpty(record)) {
|
|
|
|
- ExamRecordCacheUtil.setStatus(recordId, ExamRecordStatusEnum.PERSISTED, timestamp);
|
|
|
|
- ExamRecordCacheUtil.setUpdateTime(recordId, timestamp);
|
|
|
|
- Object o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.status.getCode());
|
|
|
|
- if (Objects.nonNull(o) && o instanceof ExamStatusBean) {
|
|
|
|
- record.put(ExamRecordFieldEnum.status.getCode(), ((ExamStatusBean) o).getExamRecordStatusEnum());
|
|
|
|
- }
|
|
|
|
- o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.client_websocket_status.getCode());
|
|
|
|
- if (Objects.nonNull(o) && o instanceof ClientWebsocketStatusBean) {
|
|
|
|
- record.put(ExamRecordFieldEnum.client_websocket_status.getCode(), ((ClientWebsocketStatusBean) o).getWebsocketStatusEnum());
|
|
|
|
- }
|
|
|
|
- o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.mobile_first_websocket_status.getCode());
|
|
|
|
- if (Objects.nonNull(o) && o instanceof MobileWebsocketStatusBean) {
|
|
|
|
- record.put(ExamRecordFieldEnum.mobile_first_websocket_status.getCode(), ((MobileWebsocketStatusBean) o).getWebsocketStatusEnum());
|
|
|
|
- }
|
|
|
|
- o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.mobile_second_websocket_status.getCode());
|
|
|
|
- if (Objects.nonNull(o) && o instanceof MobileWebsocketStatusBean) {
|
|
|
|
- record.put(ExamRecordFieldEnum.mobile_second_websocket_status.getCode(), ((MobileWebsocketStatusBean) o).getWebsocketStatusEnum());
|
|
|
|
- }
|
|
|
|
- o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.camera_monitor_status.getCode());
|
|
|
|
- if (Objects.nonNull(o) && o instanceof MonitorStatusBean) {
|
|
|
|
- record.put(ExamRecordFieldEnum.camera_monitor_status.getCode(), ((MonitorStatusBean) o).getMonitorStatusSourceEnum());
|
|
|
|
- }
|
|
|
|
- o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.screen_monitor_status.getCode());
|
|
|
|
- if (Objects.nonNull(o) && o instanceof MonitorStatusBean) {
|
|
|
|
- record.put(ExamRecordFieldEnum.screen_monitor_status.getCode(), ((MonitorStatusBean) o).getMonitorStatusSourceEnum());
|
|
|
|
- }
|
|
|
|
- o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.mobile_first_monitor_status.getCode());
|
|
|
|
- if (Objects.nonNull(o) && o instanceof MonitorStatusBean) {
|
|
|
|
- record.put(ExamRecordFieldEnum.mobile_first_monitor_status.getCode(), ((MonitorStatusBean) o).getMonitorStatusSourceEnum());
|
|
|
|
- }
|
|
|
|
- o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.mobile_second_monitor_status.getCode());
|
|
|
|
- if (Objects.nonNull(o) && o instanceof MonitorStatusBean) {
|
|
|
|
- record.put(ExamRecordFieldEnum.mobile_second_monitor_status.getCode(), ((MonitorStatusBean) o).getMonitorStatusSourceEnum());
|
|
|
|
- }
|
|
|
|
- o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.breach_status.getCode());
|
|
|
|
- if (Objects.nonNull(o) && o instanceof BreachStatusBean) {
|
|
|
|
- record.put(ExamRecordFieldEnum.breach_status.getCode(), ((BreachStatusBean) o).getStatus());
|
|
|
|
- }
|
|
|
|
- Gson gson = new Gson();
|
|
|
|
- er = gson.fromJson(gson.toJson(record), TOeExamRecord.class);
|
|
|
|
- } else {
|
|
|
|
|
|
+ TOeExamRecord er = this.getCacheExamRecord(recordId);
|
|
|
|
+ if (Objects.isNull(er)) {
|
|
er = SystemConstant.getExamRecord(recordId);
|
|
er = SystemConstant.getExamRecord(recordId);
|
|
|
|
+ er.setStatus(ExamRecordStatusEnum.PERSISTED);
|
|
|
|
+ er.setUpdateTime(System.currentTimeMillis());
|
|
}
|
|
}
|
|
- er.setStatus(ExamRecordStatusEnum.PERSISTED);
|
|
|
|
- er.setUpdateTime(timestamp);
|
|
|
|
if (struct != null) {
|
|
if (struct != null) {
|
|
er.setPaperStructPath(structFilePath);
|
|
er.setPaperStructPath(structFilePath);
|
|
}
|
|
}
|
|
@@ -460,6 +417,58 @@ public class TOeExamRecordServiceImpl extends ServiceImpl<TOeExamRecordMapper, T
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 从缓存里获取考试记录
|
|
|
|
+ *
|
|
|
|
+ * @param recordId
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ private TOeExamRecord getCacheExamRecord(Long recordId) {
|
|
|
|
+ TOeExamRecord er = null;
|
|
|
|
+ Map<String, Object> record = redisUtil.getHashEntries(RedisKeyHelper.examRecordCacheKey(recordId));
|
|
|
|
+ if (!CollectionUtils.isEmpty(record)) {
|
|
|
|
+ Object o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.status.getCode());
|
|
|
|
+ if (Objects.nonNull(o) && o instanceof ExamStatusBean) {
|
|
|
|
+ record.put(ExamRecordFieldEnum.status.getCode(), ((ExamStatusBean) o).getExamRecordStatusEnum());
|
|
|
|
+ }
|
|
|
|
+ o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.client_websocket_status.getCode());
|
|
|
|
+ if (Objects.nonNull(o) && o instanceof ClientWebsocketStatusBean) {
|
|
|
|
+ record.put(ExamRecordFieldEnum.client_websocket_status.getCode(), ((ClientWebsocketStatusBean) o).getWebsocketStatusEnum());
|
|
|
|
+ }
|
|
|
|
+ o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.mobile_first_websocket_status.getCode());
|
|
|
|
+ if (Objects.nonNull(o) && o instanceof MobileWebsocketStatusBean) {
|
|
|
|
+ record.put(ExamRecordFieldEnum.mobile_first_websocket_status.getCode(), ((MobileWebsocketStatusBean) o).getWebsocketStatusEnum());
|
|
|
|
+ }
|
|
|
|
+ o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.mobile_second_websocket_status.getCode());
|
|
|
|
+ if (Objects.nonNull(o) && o instanceof MobileWebsocketStatusBean) {
|
|
|
|
+ record.put(ExamRecordFieldEnum.mobile_second_websocket_status.getCode(), ((MobileWebsocketStatusBean) o).getWebsocketStatusEnum());
|
|
|
|
+ }
|
|
|
|
+ o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.camera_monitor_status.getCode());
|
|
|
|
+ if (Objects.nonNull(o) && o instanceof MonitorStatusBean) {
|
|
|
|
+ record.put(ExamRecordFieldEnum.camera_monitor_status.getCode(), ((MonitorStatusBean) o).getMonitorStatusSourceEnum());
|
|
|
|
+ }
|
|
|
|
+ o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.screen_monitor_status.getCode());
|
|
|
|
+ if (Objects.nonNull(o) && o instanceof MonitorStatusBean) {
|
|
|
|
+ record.put(ExamRecordFieldEnum.screen_monitor_status.getCode(), ((MonitorStatusBean) o).getMonitorStatusSourceEnum());
|
|
|
|
+ }
|
|
|
|
+ o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.mobile_first_monitor_status.getCode());
|
|
|
|
+ if (Objects.nonNull(o) && o instanceof MonitorStatusBean) {
|
|
|
|
+ record.put(ExamRecordFieldEnum.mobile_first_monitor_status.getCode(), ((MonitorStatusBean) o).getMonitorStatusSourceEnum());
|
|
|
|
+ }
|
|
|
|
+ o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.mobile_second_monitor_status.getCode());
|
|
|
|
+ if (Objects.nonNull(o) && o instanceof MonitorStatusBean) {
|
|
|
|
+ record.put(ExamRecordFieldEnum.mobile_second_monitor_status.getCode(), ((MonitorStatusBean) o).getMonitorStatusSourceEnum());
|
|
|
|
+ }
|
|
|
|
+ o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.breach_status.getCode());
|
|
|
|
+ if (Objects.nonNull(o) && o instanceof BreachStatusBean) {
|
|
|
|
+ record.put(ExamRecordFieldEnum.breach_status.getCode(), ((BreachStatusBean) o).getStatus());
|
|
|
|
+ }
|
|
|
|
+ Gson gson = new Gson();
|
|
|
|
+ er = gson.fromJson(gson.toJson(record), TOeExamRecord.class);
|
|
|
|
+ }
|
|
|
|
+ return er;
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public void saveFaceVerify(ExamTypeEnum type, Long recordId, Long entryAuthenticationId,
|
|
public void saveFaceVerify(ExamTypeEnum type, Long recordId, Long entryAuthenticationId,
|
|
VerifyExceptionEnum entryAuthenticationResult) {
|
|
VerifyExceptionEnum entryAuthenticationResult) {
|
|
@@ -493,133 +502,8 @@ public class TOeExamRecordServiceImpl extends ServiceImpl<TOeExamRecordMapper, T
|
|
public void examRecordDataSave(Long recordId) {
|
|
public void examRecordDataSave(Long recordId) {
|
|
ExamRecordStatusEnum examRecordStatusEnum = ExamRecordCacheUtil.getStatus(recordId);
|
|
ExamRecordStatusEnum examRecordStatusEnum = ExamRecordCacheUtil.getStatus(recordId);
|
|
if (Objects.nonNull(examRecordStatusEnum) && examRecordStatusEnum != ExamRecordStatusEnum.PERSISTED) {
|
|
if (Objects.nonNull(examRecordStatusEnum) && examRecordStatusEnum != ExamRecordStatusEnum.PERSISTED) {
|
|
- Long examStudentId = ExamRecordCacheUtil.getExamStudentId(recordId);
|
|
|
|
- Long paperId = ExamRecordCacheUtil.getPaperId(recordId);
|
|
|
|
- Long firstStartTime = ExamRecordCacheUtil.getFirstStartTime(recordId);
|
|
|
|
- Integer durationSeconds = ExamRecordCacheUtil.getDurationSeconds(recordId);
|
|
|
|
- Double objectiveScore = ExamRecordCacheUtil.getObjectiveScore(recordId);
|
|
|
|
- Long examId = ExamRecordCacheUtil.getExamId(recordId);
|
|
|
|
- Long finishTime = ExamRecordCacheUtil.getFinishTime(recordId);
|
|
|
|
- FinishTypeEnum finishTypeEnum = ExamRecordCacheUtil.getFinishType(recordId);
|
|
|
|
- Long clientLastSyncTime = ExamRecordCacheUtil.getClientLastSyncTime(recordId);
|
|
|
|
- Integer alreadyBreakCount = ExamRecordCacheUtil.getAlreadyBreakCount(recordId);
|
|
|
|
- Long breakId = ExamRecordCacheUtil.getLastBreakId(recordId);
|
|
|
|
- Long lastBreakTime = ExamRecordCacheUtil.getLastBreakTime(recordId);
|
|
|
|
- Long examActivityId = ExamRecordCacheUtil.getExamActivityId(recordId);
|
|
|
|
- Integer warningCount = ExamRecordCacheUtil.getWarningCount(recordId);
|
|
|
|
- Integer breachStatus = ExamRecordCacheUtil.getBreachStatus(recordId);
|
|
|
|
- Integer inProcessLivenessVerifyCount = ExamRecordCacheUtil.getInProcessLivenessVerifyCount(recordId);
|
|
|
|
- String monitorKey = ExamRecordCacheUtil.getMonitorKey(recordId);
|
|
|
|
- WebsocketStatusEnum websocketStatusEnum = ExamRecordCacheUtil.getClientWebsocketStatus(recordId);
|
|
|
|
- Long lastStartTime = ExamRecordCacheUtil.getLastStartTime(recordId);
|
|
|
|
- Integer paperDownLoad = ExamRecordCacheUtil.getPaperDownload(recordId);
|
|
|
|
- Long startTime = ExamRecordCacheUtil.getStartTime(recordId);
|
|
|
|
- Long endTime = ExamRecordCacheUtil.getEndTime(recordId);
|
|
|
|
- Integer openingSeconds = ExamRecordCacheUtil.getOpeningSeconds(recordId);
|
|
|
|
- Integer minDurationSeconds = ExamRecordCacheUtil.getMinDurationSeconds(recordId);
|
|
|
|
- Integer maxDurationSeconds = ExamRecordCacheUtil.getMaxDurationSeconds(recordId);
|
|
|
|
- Integer forceFinish = ExamRecordCacheUtil.getForceFinish(recordId);
|
|
|
|
- Integer hasAnswerFile = ExamRecordCacheUtil.getHasAnswerFile(recordId);
|
|
|
|
- Integer cameraPhotoUpload = ExamRecordCacheUtil.getCameraPhotoUpload(recordId);
|
|
|
|
- Integer mobilePhotoUpload = ExamRecordCacheUtil.getMobilePhotoUpload(recordId);
|
|
|
|
- String entryAuthenticationPolicy = ExamRecordCacheUtil.getEntryAuthenticationPolicy(recordId);
|
|
|
|
- Integer inProcessFaceStrangerIgnore = ExamRecordCacheUtil.getInProcessFaceStrangerIgnore(recordId);
|
|
|
|
- String inProcessLivenessFixedRange = ExamRecordCacheUtil.getInProcessLivenessFixedRange(recordId);
|
|
|
|
- String inProcessLivenessJudgePolicy = ExamRecordCacheUtil.getInProcessLivenessJudgePolicy(recordId);
|
|
|
|
- String monitorVideoSource = ExamRecordCacheUtil.getMonitorVideoSource(recordId);
|
|
|
|
- String monitorRecord = ExamRecordCacheUtil.getMonitorRecord(recordId);
|
|
|
|
- Integer inProcessRealnessVerifyStatus = ExamRecordCacheUtil.getInProcessRealnessVerifyStatus(recordId);
|
|
|
|
- Integer inProcessLivenessVerifyStatus = ExamRecordCacheUtil.getInProcessLivenessVerifyStatus(recordId);
|
|
|
|
- Integer inProcessFaceVerifyStatus = ExamRecordCacheUtil.getInProcessFaceVerifyStatus(recordId);
|
|
|
|
- Long firstPrepareTime = ExamRecordCacheUtil.getFirstPrepareTime(recordId);
|
|
|
|
- Long lastPrepareTime = ExamRecordCacheUtil.getLastPrepareTime(recordId);
|
|
|
|
- String clientCurrentIp = ExamRecordCacheUtil.getClientCurrentIp(recordId);
|
|
|
|
- String clientWebsocketId = ExamRecordCacheUtil.getClientWebsocketId(recordId);
|
|
|
|
- Double answerProgress = ExamRecordCacheUtil.getAnswerProgress(recordId);
|
|
|
|
- ReviewResultEnum reviewResultEnum = ExamRecordCacheUtil.getReviewResult(recordId);
|
|
|
|
- String paperStructPath = ExamRecordCacheUtil.getPaperStructPath(recordId);
|
|
|
|
- Integer paperStructUpload = ExamRecordCacheUtil.getPaperStructUpload(recordId);
|
|
|
|
- Integer serialNumber = ExamRecordCacheUtil.getSerialNumber(recordId);
|
|
|
|
- VerifyExceptionEnum verifyExceptionEnum = ExamRecordCacheUtil.getEntryAuthenticationResult(recordId);
|
|
|
|
- Long entryAuthenticationId = ExamRecordCacheUtil.getEntryAuthenticationId(recordId);
|
|
|
|
- ScoreStatusEnum scoreStatusEnum = ExamRecordCacheUtil.getScoreStatus(recordId);
|
|
|
|
- String mobileFirstWebsocketId = ExamRecordCacheUtil.getMobileFirstWebsocketId(recordId);
|
|
|
|
- WebsocketStatusEnum mobileFirstWebsocketStatus = ExamRecordCacheUtil.getMobileFirstWebsocketStatus(recordId);
|
|
|
|
- String mobileSecondWebsocketId = ExamRecordCacheUtil.getMobileSecondWebsocketId(recordId);
|
|
|
|
- WebsocketStatusEnum mobileSecondWebsocketStatus = ExamRecordCacheUtil.getMobileSecondWebsocketStatus(recordId);
|
|
|
|
-
|
|
|
|
- MonitorStatusSourceEnum cameraMonitorStatus = ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_CAMERA);
|
|
|
|
- MonitorStatusSourceEnum screenMonitorStatus = ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_SCREEN);
|
|
|
|
- MonitorStatusSourceEnum mobileFirstMonitorStatus = ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.MOBILE_FIRST);
|
|
|
|
- MonitorStatusSourceEnum mobileSecondMonitorStatus = ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.MOBILE_SECOND);
|
|
|
|
- Long updateTime = ExamRecordCacheUtil.getUpdateTime(recordId);
|
|
|
|
-
|
|
|
|
- TOeExamRecord er = new TOeExamRecord();
|
|
|
|
- er.setId(recordId);
|
|
|
|
- er.setExamId(examId);
|
|
|
|
- er.setExamActivityId(examActivityId);
|
|
|
|
- er.setExamStudentId(examStudentId);
|
|
|
|
- er.setPaperId(paperId);
|
|
|
|
- er.setStatus(examRecordStatusEnum);
|
|
|
|
- er.setFirstPrepareTime(firstPrepareTime);
|
|
|
|
- er.setFirstStartTime(firstStartTime);
|
|
|
|
- er.setLastBreakTime(lastBreakTime);
|
|
|
|
- er.setLastPrepareTime(lastPrepareTime);
|
|
|
|
- er.setLastStartTime(lastStartTime);
|
|
|
|
- er.setAlreadyBreakCount(alreadyBreakCount);
|
|
|
|
- er.setClientCurrentIp(clientCurrentIp);
|
|
|
|
- er.setClientWebsocketStatus(websocketStatusEnum);
|
|
|
|
- er.setClientWebsocketId(clientWebsocketId);
|
|
|
|
- er.setClientLastSyncTime(clientLastSyncTime);
|
|
|
|
- er.setMobileFirstWebsocketId(mobileFirstWebsocketId);
|
|
|
|
- er.setMobileFirstWebsocketStatus(mobileFirstWebsocketStatus);
|
|
|
|
- er.setMobileSecondWebsocketId(mobileSecondWebsocketId);
|
|
|
|
- er.setMobileSecondWebsocketStatus(mobileSecondWebsocketStatus);
|
|
|
|
- er.setAnswerProgress(answerProgress);
|
|
|
|
- er.setDurationSeconds(durationSeconds);
|
|
|
|
- er.setFinishTime(finishTime);
|
|
|
|
- er.setFinishType(finishTypeEnum);
|
|
|
|
- er.setWarningCount(warningCount);
|
|
|
|
- er.setReviewResult(reviewResultEnum);
|
|
|
|
- er.setObjectiveScore(objectiveScore);
|
|
|
|
- er.setPaperDownload(paperDownLoad);
|
|
|
|
- er.setBreachStatus(breachStatus);
|
|
|
|
- er.setPaperStructPath(paperStructPath);
|
|
|
|
- er.setPaperStructUpload(paperStructUpload);
|
|
|
|
- er.setSerialNumber(serialNumber);
|
|
|
|
- er.setLastBreakId(breakId);
|
|
|
|
- er.setEntryAuthenticationResult(verifyExceptionEnum);
|
|
|
|
- er.setEntryAuthenticationId(entryAuthenticationId);
|
|
|
|
- er.setInProcessFaceVerifyStatus(inProcessFaceVerifyStatus);
|
|
|
|
- er.setInProcessLivenessVerifyStatus(inProcessLivenessVerifyStatus);
|
|
|
|
- er.setInProcessLivenessVerifyCount(inProcessLivenessVerifyCount);
|
|
|
|
- er.setMonitorKey(monitorKey);
|
|
|
|
- er.setScoreStatus(scoreStatusEnum);
|
|
|
|
- er.setStartTime(startTime);
|
|
|
|
- er.setEndTime(endTime);
|
|
|
|
- er.setOpeningSeconds(openingSeconds);
|
|
|
|
- er.setMinDurationSeconds(minDurationSeconds);
|
|
|
|
- er.setMaxDurationSeconds(maxDurationSeconds);
|
|
|
|
- er.setForceFinish(forceFinish);
|
|
|
|
- er.setHasAnswerFile(hasAnswerFile);
|
|
|
|
- er.setInProcessRealnessVerifyStatus(inProcessRealnessVerifyStatus);
|
|
|
|
- er.setCameraPhotoUpload(cameraPhotoUpload);
|
|
|
|
- er.setMobilePhotoUpload(mobilePhotoUpload);
|
|
|
|
- er.setEntryAuthenticationPolicy(EntryAuthenticationPolicyEnum.valueOf(entryAuthenticationPolicy));
|
|
|
|
- er.setInProcessFaceStrangerIgnore(inProcessFaceStrangerIgnore);
|
|
|
|
- er.setInProcessLivenessFixedRange(inProcessLivenessFixedRange);
|
|
|
|
- er.setInProcessLivenessJudgePolicy(InProcessLivenessJudgePolicyEnum.valueOf(inProcessLivenessJudgePolicy));
|
|
|
|
- er.setMonitorVideoSource(monitorVideoSource);
|
|
|
|
- er.setMonitorRecord(monitorRecord);
|
|
|
|
- er.setCameraMonitorStatus(cameraMonitorStatus);
|
|
|
|
- er.setScreenMonitorStatus(screenMonitorStatus);
|
|
|
|
- er.setMobileFirstMonitorStatus(mobileFirstMonitorStatus);
|
|
|
|
- er.setMobileSecondMonitorStatus(mobileSecondMonitorStatus);
|
|
|
|
- er.setUpdateTime(updateTime);
|
|
|
|
- examRecordStatusEnum = ExamRecordCacheUtil.getStatus(recordId);
|
|
|
|
- if (Objects.nonNull(examRecordStatusEnum) && examRecordStatusEnum != ExamRecordStatusEnum.PERSISTED) {
|
|
|
|
- this.saveOrUpdate(er);
|
|
|
|
- }
|
|
|
|
|
|
+ TOeExamRecord er = this.getCacheExamRecord(recordId);
|
|
|
|
+ this.saveOrUpdate(er);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|