Browse Source

bug修改

wangliang 4 years ago
parent
commit
053a0475e3

+ 2 - 1
themis-mq/src/main/java/com/qmth/themis/mq/service/impl/MqLogicServiceImpl.java

@@ -232,7 +232,8 @@ public class MqLogicServiceImpl implements MqLogicService {
         Long recordId = Long.parseLong(String.valueOf(tranMap.get("recordId")));
         Date clientLastSyncTime = ExamRecordCacheUtil.getClientLastSyncTime(recordId);
         ExamRecordStatusEnum status = ExamRecordCacheUtil.getStatus(recordId);
-        if (!Objects.equals(status, ExamRecordStatusEnum.BREAK_OFF) || !Objects.equals(status, ExamRecordStatusEnum.FINISHED) || !Objects.equals(status, ExamRecordStatusEnum.PERSISTED)) {
+        WebsocketStatusEnum websocketStatusEnum = ExamRecordCacheUtil.getClientWebsocketStatus(recordId);
+        if (Objects.nonNull(websocketStatusEnum) && !Objects.equals(websocketStatusEnum, WebsocketStatusEnum.ON_LINE) && !Objects.equals(status, ExamRecordStatusEnum.BREAK_OFF) || !Objects.equals(status, ExamRecordStatusEnum.FINISHED) || !Objects.equals(status, ExamRecordStatusEnum.PERSISTED)) {
             Map<String, Object> objectMap = redisUtil.getHashEntries(RedisKeyHelper.examRecordCacheKey(recordId));
             if (Objects.nonNull(objectMap)) {
                 Integer diff = 0;