瀏覽代碼

websocket BUG修改

wangliang 3 年之前
父節點
當前提交
b7944fd648

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

@@ -163,9 +163,12 @@ public class WebSocketMobileServer implements Concurrently {
                         MqDto mobileMqDto = new MqDto(mqUtil.getMqGroupDomain().getTopic(), MqTagEnum.EXAM_STOP.name(), recordId, MqTagEnum.EXAM_STOP, String.valueOf(recordId), properties, String.valueOf(recordId));
                         mqDtoService.assembleSendOneOrderMsg(mobileMqDto);
                     }
-                    Method method = webSocketMobileMessageTemplete.getClass().getDeclaredMethod(WebsocketTypeEnum.valueOf(websocketDto.getType().toUpperCase()).getDesc(), String.class, Long.class);
-                    WebsocketDto result = (WebsocketDto) method.invoke(webSocketMobileMessageTemplete, String.valueOf(websocketDto.getBody()), websocketDto.getTime());
-                    this.sendMessage(result);
+                    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);
+                    }
                 }
             } catch (Exception e) {
                 log.error("请求出错", e);

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

@@ -160,9 +160,13 @@ public class WebSocketOeServer implements Concurrently {
                     WebsocketDto websocketDto = gson.fromJson(gson.toJson(jsonObject), WebsocketDto.class);
                     jsonObject.getJSONObject("body").put(SystemConstant.RECORD_ID, this.recordId);
                     websocketDto.setBody(jsonObject.getJSONObject("body"));
-                    Method method = webSocketOeMessageTemplete.getClass().getDeclaredMethod(WebsocketTypeEnum.valueOf(websocketDto.getType().toUpperCase()).getDesc(), String.class, Long.class);
-                    WebsocketDto result = (WebsocketDto) method.invoke(webSocketOeMessageTemplete, String.valueOf(websocketDto.getBody()), websocketDto.getTime());
-                    this.sendMessage(result);
+                    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);
+                    }
                 }
             } catch (Exception e) {
                 log.error("请求出错", e);