浏览代码

移动端结束考试不再给客户端发送弹码消息

wangliang 1 年之前
父节点
当前提交
194d01f2ed

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

@@ -350,9 +350,12 @@ public class MqOeLogicServiceImpl implements MqOeLogicService {
                         case "MONITOR_START":
                         case "MONITOR_START":
                             MonitorVideoSourceEnum source = MonitorVideoSourceEnum.valueOf((String) prop.get(Constants.HEADER_SOURCE));
                             MonitorVideoSourceEnum source = MonitorVideoSourceEnum.valueOf((String) prop.get(Constants.HEADER_SOURCE));
                             MonitorStatusBean monitorStatusBean = ExamRecordCacheUtil.getMonitorStatusBean(recordId, source);
                             MonitorStatusBean monitorStatusBean = ExamRecordCacheUtil.getMonitorStatusBean(recordId, source);
-                            if (Objects.nonNull(monitorStatusBean)
+                            if ((Objects.nonNull(monitorStatusBean)
                                     && Objects.nonNull(monitorStatusBean.getTimestamp())
                                     && Objects.nonNull(monitorStatusBean.getTimestamp())
-                                    && mqDto.getTimestamp().longValue() >= monitorStatusBean.getTimestamp().longValue()) {
+                                    && mqDto.getTimestamp().longValue() >= monitorStatusBean.getTimestamp().longValue())
+                                    && (!Objects.equals(ExamRecordStatusEnum.PERSISTED, examRecordStatusEnum)
+                                    && !Objects.equals(ExamRecordStatusEnum.FINISHED, examRecordStatusEnum)
+                                    && !Objects.equals(ExamRecordStatusEnum.JUNK, examRecordStatusEnum))) {
                                 websocketDto = new WebsocketDto(WebsocketTypeEnum.MOBILE_MONITOR_START.name(), prop);
                                 websocketDto = new WebsocketDto(WebsocketTypeEnum.MOBILE_MONITOR_START.name(), prop);
                                 webSocketOeServer.sendMessage(websocketDto);
                                 webSocketOeServer.sendMessage(websocketDto);
                             }
                             }
@@ -362,10 +365,10 @@ public class MqOeLogicServiceImpl implements MqOeLogicService {
                             monitorStatusBean = ExamRecordCacheUtil.getMonitorStatusBean(recordId, source);
                             monitorStatusBean = ExamRecordCacheUtil.getMonitorStatusBean(recordId, source);
                             if ((Objects.nonNull(monitorStatusBean)
                             if ((Objects.nonNull(monitorStatusBean)
                                     && Objects.nonNull(monitorStatusBean.getTimestamp())
                                     && Objects.nonNull(monitorStatusBean.getTimestamp())
-                                    && mqDto.getTimestamp().longValue() >= monitorStatusBean.getTimestamp().longValue()) &&
-                                    (!Objects.equals(ExamRecordStatusEnum.PERSISTED, examRecordStatusEnum)
-                                            && !Objects.equals(ExamRecordStatusEnum.FINISHED, examRecordStatusEnum)
-                                            && !Objects.equals(ExamRecordStatusEnum.JUNK, examRecordStatusEnum))) {
+                                    && mqDto.getTimestamp().longValue() >= monitorStatusBean.getTimestamp().longValue())
+                                    && (!Objects.equals(ExamRecordStatusEnum.PERSISTED, examRecordStatusEnum)
+                                    && !Objects.equals(ExamRecordStatusEnum.FINISHED, examRecordStatusEnum)
+                                    && !Objects.equals(ExamRecordStatusEnum.JUNK, examRecordStatusEnum))) {
                                 websocketDto = new WebsocketDto(WebsocketTypeEnum.MOBILE_MONITOR_STOP.name(), prop);
                                 websocketDto = new WebsocketDto(WebsocketTypeEnum.MOBILE_MONITOR_STOP.name(), prop);
                                 webSocketOeServer.sendMessage(websocketDto);
                                 webSocketOeServer.sendMessage(websocketDto);
                                 //                                ConcurrentHashMap<String, WebSocketMobileServer> webSocketMobileMap = WebSocketMobileServer.getWebSocketMap();
                                 //                                ConcurrentHashMap<String, WebSocketMobileServer> webSocketMobileMap = WebSocketMobileServer.getWebSocketMap();