Эх сурвалжийг харах

断点逻辑修改,加入examStatus锁,加入全局异常错误信息表

wangliang 4 жил өмнө
parent
commit
71ee15b029

+ 3 - 3
themis-exam/src/main/java/com/qmth/themis/exam/config/ExamConstant.java

@@ -33,7 +33,7 @@ public class ExamConstant {
         //客户端考试结束
         if (clientStop) {
             ConcurrentHashMap<String, WebSocketOeServer> webSocketOeMap = WebSocketOeServer.getWebSocketMap();
-            if (Objects.nonNull(webSocketOeMap.get(clientWebsocketId))) {
+            if (Objects.nonNull(clientWebsocketId) && Objects.nonNull(webSocketOeMap.get(clientWebsocketId))) {
                 WebSocketOeServer webSocketOeServer = webSocketOeMap.get(clientWebsocketId);
                 if (Objects.nonNull(webSocketOeServer.getRecordId()) && webSocketOeServer.getRecordId().longValue() == recordId.longValue()) {
                     Map map = new HashMap<>();
@@ -46,7 +46,7 @@ public class ExamConstant {
 
         //移动端考试结束
         ConcurrentHashMap<String, WebSocketMobileServer> webSocketMap = WebSocketMobileServer.getWebSocketMap();
-        if (Objects.nonNull(webSocketMap.get(clientWebsocketId + "-" + MonitorVideoSourceEnum.MOBILE_FIRST.name()))) {
+        if (Objects.nonNull(clientWebsocketId) && Objects.nonNull(webSocketMap.get(clientWebsocketId + "-" + MonitorVideoSourceEnum.MOBILE_FIRST.name()))) {
             WebSocketMobileServer webSocketMobileServer = webSocketMap.get(clientWebsocketId + "-" + MonitorVideoSourceEnum.MOBILE_FIRST.name());
             if (Objects.nonNull(webSocketMobileServer.getRecordId()) && webSocketMobileServer.getRecordId().longValue() == recordId.longValue()) {
                 Map map = new HashMap<>();
@@ -55,7 +55,7 @@ public class ExamConstant {
                 webSocketMobileServer.sendMessage(websocketDto);
             }
         }
-        if (Objects.nonNull(webSocketMap.get(clientWebsocketId + "-" + MonitorVideoSourceEnum.MOBILE_SECOND.name()))) {
+        if (Objects.nonNull(clientWebsocketId) && Objects.nonNull(webSocketMap.get(clientWebsocketId + "-" + MonitorVideoSourceEnum.MOBILE_SECOND.name()))) {
             WebSocketMobileServer webSocketMobileServer = webSocketMap.get(clientWebsocketId + "-" + MonitorVideoSourceEnum.MOBILE_SECOND.name());
             if (Objects.nonNull(webSocketMobileServer.getRecordId()) && webSocketMobileServer.getRecordId().longValue() == recordId.longValue()) {
                 Map map = new HashMap<>();