Browse Source

修复客户端websocket退出BUG

wangliang 3 years ago
parent
commit
5071c0b7cb

+ 5 - 5
themis-exam/src/main/java/com/qmth/themis/exam/websocket/WebSocketMobileServer.java

@@ -164,11 +164,11 @@ public class WebSocketMobileServer implements Concurrently {
                         mqDtoService.assembleSendOneOrderMsg(mobileMqDto);
                     }
                     WebsocketTypeEnum websocketTypeEnum = WebsocketTypeEnum.valueOf(websocketDto.getType().toUpperCase());
-//                    if (Objects.nonNull(websocketTypeEnum) && websocketTypeEnum == WebsocketTypeEnum.SYNC_STATUS) {
-                    Method method = webSocketMobileMessageTemplete.getClass().getDeclaredMethod(websocketTypeEnum.getDesc(), String.class, Long.class);
-                    WebsocketDto result = (WebsocketDto) method.invoke(webSocketMobileMessageTemplete, String.valueOf(websocketDto.getBody()), websocketDto.getTime());
-                    this.sendMessage(result);
-//                    }
+                    if (Objects.nonNull(websocketTypeEnum) && websocketTypeEnum == WebsocketTypeEnum.SYNC_STATUS) {
+                        Method method = webSocketMobileMessageTemplete.getClass().getDeclaredMethod(websocketTypeEnum.getDesc(), String.class, Long.class);
+                        WebsocketDto result = (WebsocketDto) method.invoke(webSocketMobileMessageTemplete, String.valueOf(websocketDto.getBody()), websocketDto.getTime());
+                        this.sendMessage(result);
+                    }
                 }
             } catch (Exception e) {
                 log.error("请求出错", e);

+ 6 - 7
themis-exam/src/main/java/com/qmth/themis/exam/websocket/WebSocketOeServer.java

@@ -18,7 +18,6 @@ import com.qmth.themis.business.util.*;
 import com.qmth.themis.common.contanst.Constants;
 import com.qmth.themis.common.enums.ExceptionResultEnum;
 import com.qmth.themis.common.exception.BusinessException;
-import com.qmth.themis.exam.config.ExamConstant;
 import com.qmth.themis.exam.listener.service.MqOeLogicService;
 import com.qmth.themis.exam.websocket.interceptor.WebSocketOeHandshakeInterceptor;
 import com.qmth.themis.exam.websocketTemplete.WebSocketOeMessageTemplete;
@@ -159,12 +158,12 @@ public class WebSocketOeServer implements Concurrently {
                     jsonObject.getJSONObject("body").put(SystemConstant.RECORD_ID, this.recordId);
                     websocketDto.setBody(jsonObject.getJSONObject("body"));
                     WebsocketTypeEnum websocketTypeEnum = WebsocketTypeEnum.valueOf(websocketDto.getType().toUpperCase());
-//                    if (Objects.nonNull(websocketTypeEnum) && (websocketTypeEnum == WebsocketTypeEnum.SYNC_STATUS ||
-//                            websocketTypeEnum == WebsocketTypeEnum.INVIGILATE_NOTICE_ACK)) {
-                    Method method = webSocketOeMessageTemplete.getClass().getDeclaredMethod(websocketTypeEnum.getDesc(), String.class, Long.class);
-                    WebsocketDto result = (WebsocketDto) method.invoke(webSocketOeMessageTemplete, String.valueOf(websocketDto.getBody()), websocketDto.getTime());
-                    this.sendMessage(result);
-//                    }
+                    if (Objects.nonNull(websocketTypeEnum) && (websocketTypeEnum == WebsocketTypeEnum.SYNC_STATUS ||
+                            websocketTypeEnum == WebsocketTypeEnum.INVIGILATE_NOTICE_ACK)) {
+                        Method method = webSocketOeMessageTemplete.getClass().getDeclaredMethod(websocketTypeEnum.getDesc(), String.class, Long.class);
+                        WebsocketDto result = (WebsocketDto) method.invoke(webSocketOeMessageTemplete, String.valueOf(websocketDto.getBody()), websocketDto.getTime());
+                        this.sendMessage(result);
+                    }
                 }
             } catch (Exception e) {
                 log.error("请求出错", e);