|
@@ -260,6 +260,9 @@ public class MqOeLogicServiceImpl implements MqOeLogicService {
|
|
WebSocketOeServer webSocketOeServer = (WebSocketOeServer) map.get(SystemConstant.WEB_SOCKET_OE_SERVER);
|
|
WebSocketOeServer webSocketOeServer = (WebSocketOeServer) map.get(SystemConstant.WEB_SOCKET_OE_SERVER);
|
|
WebsocketDto websocketDto = new WebsocketDto(WebsocketTypeEnum.INVIGILATE_STOP_EXAM.name(), map);
|
|
WebsocketDto websocketDto = new WebsocketDto(WebsocketTypeEnum.INVIGILATE_STOP_EXAM.name(), map);
|
|
webSocketOeServer.sendMessage(websocketDto);
|
|
webSocketOeServer.sendMessage(websocketDto);
|
|
|
|
+ } else {
|
|
|
|
+ mqDto.setAck(SystemConstant.STANDARD_ACK_TYPE);
|
|
|
|
+ redisUtil.delete(key, mqDto.getId());
|
|
}
|
|
}
|
|
});
|
|
});
|
|
} else if (Objects.equals(MqTagEnum.OE_WARNING_FINISH.name(), tag)) {//预警交卷
|
|
} else if (Objects.equals(MqTagEnum.OE_WARNING_FINISH.name(), tag)) {//预警交卷
|
|
@@ -270,6 +273,9 @@ public class MqOeLogicServiceImpl implements MqOeLogicService {
|
|
WebSocketOeServer webSocketOeServer = (WebSocketOeServer) map.get(SystemConstant.WEB_SOCKET_OE_SERVER);
|
|
WebSocketOeServer webSocketOeServer = (WebSocketOeServer) map.get(SystemConstant.WEB_SOCKET_OE_SERVER);
|
|
WebsocketDto websocketDto = new WebsocketDto(WebsocketTypeEnum.BREACH_STOP_EXAM.name(), map);
|
|
WebsocketDto websocketDto = new WebsocketDto(WebsocketTypeEnum.BREACH_STOP_EXAM.name(), map);
|
|
webSocketOeServer.sendMessage(websocketDto);
|
|
webSocketOeServer.sendMessage(websocketDto);
|
|
|
|
+ } else {
|
|
|
|
+ mqDto.setAck(SystemConstant.STANDARD_ACK_TYPE);
|
|
|
|
+ redisUtil.delete(key, mqDto.getId());
|
|
}
|
|
}
|
|
});
|
|
});
|
|
} else if (Objects.equals(MqTagEnum.OE_IM_CLUSTERING.name(), tag)) {//点对点消息
|
|
} else if (Objects.equals(MqTagEnum.OE_IM_CLUSTERING.name(), tag)) {//点对点消息
|
|
@@ -278,6 +284,9 @@ public class MqOeLogicServiceImpl implements MqOeLogicService {
|
|
WebSocketOeServer webSocketOeServer = (WebSocketOeServer) map.get(SystemConstant.WEB_SOCKET_OE_SERVER);
|
|
WebSocketOeServer webSocketOeServer = (WebSocketOeServer) map.get(SystemConstant.WEB_SOCKET_OE_SERVER);
|
|
WebsocketDto websocketDto = new WebsocketDto(WebsocketTypeEnum.INVIGILATE_NOTICE.name(), map);
|
|
WebsocketDto websocketDto = new WebsocketDto(WebsocketTypeEnum.INVIGILATE_NOTICE.name(), map);
|
|
webSocketOeServer.sendMessage(websocketDto);
|
|
webSocketOeServer.sendMessage(websocketDto);
|
|
|
|
+ } else {
|
|
|
|
+ mqDto.setAck(SystemConstant.STANDARD_ACK_TYPE);
|
|
|
|
+ redisUtil.delete(key, mqDto.getId());
|
|
}
|
|
}
|
|
} else if (Objects.equals(MqTagEnum.OE_IM_BROADCASTING.name(), tag)) {//广播消息
|
|
} else if (Objects.equals(MqTagEnum.OE_IM_BROADCASTING.name(), tag)) {//广播消息
|
|
JSONArray jsonArray = JSONArray.parseArray(String.valueOf(mqDto.getBody()));
|
|
JSONArray jsonArray = JSONArray.parseArray(String.valueOf(mqDto.getBody()));
|
|
@@ -289,6 +298,9 @@ public class MqOeLogicServiceImpl implements MqOeLogicService {
|
|
WebSocketOeServer webSocketOeServer = (WebSocketOeServer) map.get(SystemConstant.WEB_SOCKET_OE_SERVER);
|
|
WebSocketOeServer webSocketOeServer = (WebSocketOeServer) map.get(SystemConstant.WEB_SOCKET_OE_SERVER);
|
|
WebsocketDto websocketDto = new WebsocketDto(WebsocketTypeEnum.INVIGILATE_LIVENESS_VERIFY.name(), map);
|
|
WebsocketDto websocketDto = new WebsocketDto(WebsocketTypeEnum.INVIGILATE_LIVENESS_VERIFY.name(), map);
|
|
webSocketOeServer.sendMessage(websocketDto);
|
|
webSocketOeServer.sendMessage(websocketDto);
|
|
|
|
+ } else {
|
|
|
|
+ mqDto.setAck(SystemConstant.STANDARD_ACK_TYPE);
|
|
|
|
+ redisUtil.delete(key, mqDto.getId());
|
|
}
|
|
}
|
|
} else if (Objects.equals(MqTagEnum.OE_WEBSOCKET_MOBILE_ANSWER_READY.name(), tag)//移动端拍照/录音扫描完成
|
|
} else if (Objects.equals(MqTagEnum.OE_WEBSOCKET_MOBILE_ANSWER_READY.name(), tag)//移动端拍照/录音扫描完成
|
|
|| Objects.equals(MqTagEnum.OE_WEBSOCKET_MOBILE_ANSWER_UPLOAD.name(), tag)//移动端拍照/录音上传成功
|
|
|| Objects.equals(MqTagEnum.OE_WEBSOCKET_MOBILE_ANSWER_UPLOAD.name(), tag)//移动端拍照/录音上传成功
|
|
@@ -389,6 +401,9 @@ public class MqOeLogicServiceImpl implements MqOeLogicService {
|
|
|
|
|
|
webSocketOeServer.sendMessage(websocketDto);
|
|
webSocketOeServer.sendMessage(websocketDto);
|
|
}
|
|
}
|
|
|
|
+ } else {
|
|
|
|
+ mqDto.setAck(SystemConstant.STANDARD_ACK_TYPE);
|
|
|
|
+ redisUtil.delete(key, mqDto.getId());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -408,6 +423,11 @@ public class MqOeLogicServiceImpl implements MqOeLogicService {
|
|
|| Objects.equals(MqTagEnum.EXAM_START.name(), tag)) {//考试开始
|
|
|| Objects.equals(MqTagEnum.EXAM_START.name(), tag)) {//考试开始
|
|
Long recordId = Long.parseLong(String.valueOf(mqDto.getBody()));
|
|
Long recordId = Long.parseLong(String.valueOf(mqDto.getBody()));
|
|
ExamRecordStatusEnum examRecordStatusEnum = ExamRecordCacheUtil.getStatus(recordId);
|
|
ExamRecordStatusEnum examRecordStatusEnum = ExamRecordCacheUtil.getStatus(recordId);
|
|
|
|
+ if (Objects.isNull(examRecordStatusEnum)) {
|
|
|
|
+ mqDto.setAck(SystemConstant.STANDARD_ACK_TYPE);
|
|
|
|
+ redisUtil.delete(key, mqDto.getId());
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
Long examStudentId = ExamRecordCacheUtil.getExamStudentId(recordId);
|
|
Long examStudentId = ExamRecordCacheUtil.getExamStudentId(recordId);
|
|
Long studentId = null;
|
|
Long studentId = null;
|
|
if (Objects.isNull(examStudentId)) {
|
|
if (Objects.isNull(examStudentId)) {
|
|
@@ -460,6 +480,9 @@ public class MqOeLogicServiceImpl implements MqOeLogicService {
|
|
|
|
|
|
webSocketFirstMobileServer.sendMessage(websocketDto);
|
|
webSocketFirstMobileServer.sendMessage(websocketDto);
|
|
}
|
|
}
|
|
|
|
+ } else {
|
|
|
|
+ mqDto.setAck(SystemConstant.STANDARD_ACK_TYPE);
|
|
|
|
+ redisUtil.delete(key, mqDto.getId());
|
|
}
|
|
}
|
|
String mobileSecondWebsocketId = ExamRecordCacheUtil.getMobileSecondWebsocketId(recordId);
|
|
String mobileSecondWebsocketId = ExamRecordCacheUtil.getMobileSecondWebsocketId(recordId);
|
|
if (Objects.nonNull(mobileSecondWebsocketId) && Objects.nonNull(webSocketMap.get(mobileSecondWebsocketId + "-" + MonitorVideoSourceEnum.MOBILE_SECOND.name()))) {
|
|
if (Objects.nonNull(mobileSecondWebsocketId) && Objects.nonNull(webSocketMap.get(mobileSecondWebsocketId + "-" + MonitorVideoSourceEnum.MOBILE_SECOND.name()))) {
|
|
@@ -499,6 +522,9 @@ public class MqOeLogicServiceImpl implements MqOeLogicService {
|
|
|
|
|
|
webSocketSecondMobileServer.sendMessage(websocketDto);
|
|
webSocketSecondMobileServer.sendMessage(websocketDto);
|
|
}
|
|
}
|
|
|
|
+ } else {
|
|
|
|
+ mqDto.setAck(SystemConstant.STANDARD_ACK_TYPE);
|
|
|
|
+ redisUtil.delete(key, mqDto.getId());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|