|
@@ -211,22 +211,24 @@ public class MqLogicServiceImpl implements MqLogicService {
|
|
Long recordId = Long.parseLong(String.valueOf(tranMap.get("recordId")));
|
|
Long recordId = Long.parseLong(String.valueOf(tranMap.get("recordId")));
|
|
Date clientLastSyncTime = ExamRecordCacheUtil.getClientLastSyncTime(recordId);
|
|
Date clientLastSyncTime = ExamRecordCacheUtil.getClientLastSyncTime(recordId);
|
|
Map<String, Object> objectMap = redisUtil.getHashEntries(RedisKeyHelper.examRecordCacheKey(recordId));
|
|
Map<String, Object> objectMap = redisUtil.getHashEntries(RedisKeyHelper.examRecordCacheKey(recordId));
|
|
- Integer diff = 0;
|
|
|
|
- if (Objects.nonNull(clientLastSyncTime)) {//大于等于当前时间,说明未重连或重登录
|
|
|
|
- Long l = (System.currentTimeMillis() - clientLastSyncTime.getTime()) / 1000 / 60;
|
|
|
|
- if (l >= 2) {
|
|
|
|
- diff = l.intValue();
|
|
|
|
- //是否增加断点记录或者交卷处理统一放登录逻辑里处理,这里只更新考试记录状态为中断
|
|
|
|
- objectMap.put("status", ExamRecordStatusEnum.BREAK_OFF);
|
|
|
|
- redisUtil.setForHash(RedisKeyHelper.examRecordCacheKey(recordId), objectMap);
|
|
|
|
|
|
+ if (Objects.nonNull(objectMap)) {
|
|
|
|
+ Integer diff = 0;
|
|
|
|
+ if (Objects.nonNull(clientLastSyncTime)) {//大于等于当前时间,说明未重连或重登录
|
|
|
|
+ Long l = (System.currentTimeMillis() - clientLastSyncTime.getTime()) / 1000 / 60;
|
|
|
|
+ if (l >= 2 && !Objects.equals(objectMap.get("status"), ExamRecordStatusEnum.FINISHED)) {
|
|
|
|
+ diff = l.intValue();
|
|
|
|
+ //是否增加断点记录或者交卷处理统一放登录逻辑里处理,这里只更新考试记录状态为中断
|
|
|
|
+ objectMap.put("status", ExamRecordStatusEnum.BREAK_OFF);
|
|
|
|
+ redisUtil.setForHash(RedisKeyHelper.examRecordCacheKey(recordId), objectMap);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+ //增加异常日志
|
|
|
|
+ Long examId = Long.parseLong(String.valueOf(objectMap.get("examId")));
|
|
|
|
+ Long examActivityId = Long.parseLong(String.valueOf(objectMap.get("examActivityId")));
|
|
|
|
+ Long examStudentId = Long.parseLong(String.valueOf(objectMap.get("examStudentId")));
|
|
|
|
+ TIeInvigilateExceptionInfo tIeInvigilateExceptionInfo = new TIeInvigilateExceptionInfo(examId, examActivityId, recordId, examStudentId, ExceptionEnum.NET_TIME_OUT.getCode(), ExceptionEnum.NET_TIME_OUT, String.valueOf(diff));
|
|
|
|
+ tIeInvigilateExceptionInfoService.saveOrUpdate(tIeInvigilateExceptionInfo);
|
|
}
|
|
}
|
|
- //增加异常日志
|
|
|
|
- Long examId = Long.parseLong(String.valueOf(objectMap.get("examId")));
|
|
|
|
- Long examActivityId = Long.parseLong(String.valueOf(objectMap.get("examActivityId")));
|
|
|
|
- Long examStudentId = Long.parseLong(String.valueOf(objectMap.get("examStudentId")));
|
|
|
|
- TIeInvigilateExceptionInfo tIeInvigilateExceptionInfo = new TIeInvigilateExceptionInfo(examId, examActivityId, recordId, examStudentId, ExceptionEnum.NET_TIME_OUT.getCode(), ExceptionEnum.NET_TIME_OUT, String.valueOf(diff));
|
|
|
|
- tIeInvigilateExceptionInfoService.saveOrUpdate(tIeInvigilateExceptionInfo);
|
|
|
|
TMRocketMessage tmRocketMessage = gson.fromJson(gson.toJson(mqDto), TMRocketMessage.class);
|
|
TMRocketMessage tmRocketMessage = gson.fromJson(gson.toJson(mqDto), TMRocketMessage.class);
|
|
Map map = new HashMap();
|
|
Map map = new HashMap();
|
|
map.put(SystemConstant.MQDTO_OBJ, JacksonUtil.parseJson(mqDto));
|
|
map.put(SystemConstant.MQDTO_OBJ, JacksonUtil.parseJson(mqDto));
|