wangliang il y a 2 ans
Parent
commit
0dbdab038a

+ 12 - 12
themis-exam/src/main/java/com/qmth/themis/exam/listener/service/impl/MqOeLogicServiceImpl.java

@@ -283,7 +283,9 @@ public class MqOeLogicServiceImpl implements MqOeLogicService {
                 clientWebsocketId = tOeExamRecord.getClientWebsocketId();
             }
             Map<String, Object> prop = mqDto.getProperties();
-            prop.put(SystemConstant.RECORD_ID, recordId);
+            if (Objects.nonNull(prop) && prop.size() > 0) {
+                prop.put(SystemConstant.RECORD_ID, recordId);
+            }
             if (Objects.nonNull(clientWebsocketId) && Objects.nonNull(webSocketMap.get(clientWebsocketId))) {
                 WebSocketOeServer webSocketOeServer = webSocketMap.get(clientWebsocketId);
                 ExamRecordStatusEnum examRecordStatusEnum = ExamRecordCacheUtil.getStatus(recordId);
@@ -309,11 +311,9 @@ public class MqOeLogicServiceImpl implements MqOeLogicService {
                                 websocketDto = new WebsocketDto(WebsocketTypeEnum.EXAM_STOP.name(), prop);
                                 webSocketOeServer.sendMessage(websocketDto);
                                 SystemConstant.clientMonitorStatusStop(recordId);
-                                if (Objects.nonNull(prop) && prop.size() > 0) {
-                                    Boolean removeWebsocket = (Boolean) prop.get(SystemConstant.REMOVE_WEBSOCKET);
-                                    if (Objects.nonNull(removeWebsocket) && removeWebsocket) {
-                                        WebSocketOeServer.close(webSocketOeServer);
-                                    }
+                                Boolean removeWebsocket = (Boolean) prop.get(SystemConstant.REMOVE_WEBSOCKET);
+                                if (Objects.nonNull(removeWebsocket) && removeWebsocket) {
+                                    WebSocketOeServer.close(webSocketOeServer);
                                 }
                             }
                             break;
@@ -434,7 +434,9 @@ public class MqOeLogicServiceImpl implements MqOeLogicService {
             mobileFirstWebsocketId = tOeExamRecord.getMobileFirstWebsocketId();
         }
         Map<String, Object> prop = mqDto.getProperties();
-        prop.put(SystemConstant.RECORD_ID, recordId);
+        if (Objects.nonNull(prop) && prop.size() > 0) {
+            prop.put(SystemConstant.RECORD_ID, recordId);
+        }
         if (Objects.nonNull(mobileFirstWebsocketId) && Objects.nonNull(webSocketMap.get(mobileFirstWebsocketId))) {
             WebSocketMobileServer webSocketFirstMobileServer = webSocketMap.get(mobileFirstWebsocketId);
             if (Objects.nonNull(examRecordStatusEnum)
@@ -447,11 +449,9 @@ public class MqOeLogicServiceImpl implements MqOeLogicService {
                             websocketDto = new WebsocketDto(WebsocketTypeEnum.EXAM_STOP.name(), prop);
                             webSocketFirstMobileServer.sendMessage(websocketDto);
                             SystemConstant.mobileMonitorStatusStop(studentId, recordId, false);
-                            if (Objects.nonNull(prop) && prop.size() > 0) {
-                                Boolean removeWebsocket = (Boolean) prop.get(SystemConstant.REMOVE_WEBSOCKET);
-                                if (Objects.nonNull(removeWebsocket) && removeWebsocket) {
-                                    WebSocketMobileServer.close(webSocketFirstMobileServer);
-                                }
+                            Boolean removeWebsocket = (Boolean) prop.get(SystemConstant.REMOVE_WEBSOCKET);
+                            if (Objects.nonNull(removeWebsocket) && removeWebsocket) {
+                                WebSocketMobileServer.close(webSocketFirstMobileServer);
                             }
                         }
                         break;