|
@@ -191,9 +191,7 @@ public class MqOeLogicServiceImpl implements MqOeLogicService {
|
|
if (Objects.nonNull(clientWebsocketId) && Objects.nonNull(webSocketMap.get(clientWebsocketId))) {
|
|
if (Objects.nonNull(clientWebsocketId) && Objects.nonNull(webSocketMap.get(clientWebsocketId))) {
|
|
WebSocketOeServer webSocketOeServer = webSocketMap.get(clientWebsocketId);
|
|
WebSocketOeServer webSocketOeServer = webSocketMap.get(clientWebsocketId);
|
|
ExamRecordStatusEnum examRecordStatusEnum = ExamRecordCacheUtil.getStatus(recordId);
|
|
ExamRecordStatusEnum examRecordStatusEnum = ExamRecordCacheUtil.getStatus(recordId);
|
|
- if ((Objects.nonNull(examRecordStatusEnum)
|
|
|
|
- && !Objects.equals(ExamRecordStatusEnum.PERSISTED, examRecordStatusEnum)
|
|
|
|
- && !Objects.equals(ExamRecordStatusEnum.FINISHED, examRecordStatusEnum))
|
|
|
|
|
|
+ if (Objects.nonNull(examRecordStatusEnum)
|
|
&& Objects.nonNull(webSocketOeServer.getRecordId())
|
|
&& Objects.nonNull(webSocketOeServer.getRecordId())
|
|
&& webSocketOeServer.getRecordId().longValue() == recordId.longValue()) {
|
|
&& webSocketOeServer.getRecordId().longValue() == recordId.longValue()) {
|
|
// match.set(true);
|
|
// match.set(true);
|
|
@@ -206,7 +204,10 @@ public class MqOeLogicServiceImpl implements MqOeLogicService {
|
|
websocketDto = new WebsocketDto(WebsocketTypeEnum.MOBILE_ANSWER_UPLOAD.name(), prop);
|
|
websocketDto = new WebsocketDto(WebsocketTypeEnum.MOBILE_ANSWER_UPLOAD.name(), prop);
|
|
break;
|
|
break;
|
|
case "OE_WEBSOCKET_EXAM_STOP":
|
|
case "OE_WEBSOCKET_EXAM_STOP":
|
|
- websocketDto = new WebsocketDto(WebsocketTypeEnum.EXAM_STOP.name(), prop);
|
|
|
|
|
|
+ if (Objects.equals(ExamRecordStatusEnum.PERSISTED, examRecordStatusEnum)
|
|
|
|
+ || Objects.equals(ExamRecordStatusEnum.FINISHED, examRecordStatusEnum)) {
|
|
|
|
+ websocketDto = new WebsocketDto(WebsocketTypeEnum.EXAM_STOP.name(), prop);
|
|
|
|
+ }
|
|
break;
|
|
break;
|
|
case "MONITOR_START":
|
|
case "MONITOR_START":
|
|
MonitorVideoSourceEnum source = MonitorVideoSourceEnum.valueOf((String) prop.get("source"));
|
|
MonitorVideoSourceEnum source = MonitorVideoSourceEnum.valueOf((String) prop.get("source"));
|
|
@@ -266,19 +267,23 @@ public class MqOeLogicServiceImpl implements MqOeLogicService {
|
|
if (Objects.nonNull(mobileWebsocketId) && Objects.nonNull(webSocketMap.get(mobileWebsocketId + "-" + MonitorVideoSourceEnum.MOBILE_FIRST.name()))) {
|
|
if (Objects.nonNull(mobileWebsocketId) && Objects.nonNull(webSocketMap.get(mobileWebsocketId + "-" + MonitorVideoSourceEnum.MOBILE_FIRST.name()))) {
|
|
WebSocketMobileServer webSocketMobileServer = webSocketMap.get(mobileWebsocketId + "-" + MonitorVideoSourceEnum.MOBILE_FIRST.name());
|
|
WebSocketMobileServer webSocketMobileServer = webSocketMap.get(mobileWebsocketId + "-" + MonitorVideoSourceEnum.MOBILE_FIRST.name());
|
|
ExamRecordStatusEnum examRecordStatusEnum = ExamRecordCacheUtil.getStatus(recordId);
|
|
ExamRecordStatusEnum examRecordStatusEnum = ExamRecordCacheUtil.getStatus(recordId);
|
|
- if ((Objects.nonNull(examRecordStatusEnum)
|
|
|
|
- && !Objects.equals(ExamRecordStatusEnum.PERSISTED, examRecordStatusEnum)
|
|
|
|
- && !Objects.equals(ExamRecordStatusEnum.FINISHED, examRecordStatusEnum))
|
|
|
|
|
|
+ if (Objects.nonNull(examRecordStatusEnum)
|
|
&& Objects.nonNull(webSocketMobileServer.getRecordId())
|
|
&& Objects.nonNull(webSocketMobileServer.getRecordId())
|
|
&& webSocketMobileServer.getRecordId().longValue() == recordId.longValue()) {
|
|
&& webSocketMobileServer.getRecordId().longValue() == recordId.longValue()) {
|
|
// match.set(true);
|
|
// match.set(true);
|
|
WebsocketDto websocketDto = null;
|
|
WebsocketDto websocketDto = null;
|
|
switch (tag.toUpperCase()) {
|
|
switch (tag.toUpperCase()) {
|
|
case "EXAM_STOP":
|
|
case "EXAM_STOP":
|
|
- websocketDto = new WebsocketDto(WebsocketTypeEnum.EXAM_STOP.name(), mqDto.getProperties());
|
|
|
|
|
|
+ if (Objects.equals(ExamRecordStatusEnum.PERSISTED, examRecordStatusEnum)
|
|
|
|
+ || Objects.equals(ExamRecordStatusEnum.FINISHED, examRecordStatusEnum)) {
|
|
|
|
+ websocketDto = new WebsocketDto(WebsocketTypeEnum.EXAM_STOP.name(), mqDto.getProperties());
|
|
|
|
+ }
|
|
break;
|
|
break;
|
|
case "EXAM_START":
|
|
case "EXAM_START":
|
|
- websocketDto = new WebsocketDto(WebsocketTypeEnum.EXAM_START.name(), mqDto.getProperties());
|
|
|
|
|
|
+ if (!Objects.equals(ExamRecordStatusEnum.PERSISTED, examRecordStatusEnum)
|
|
|
|
+ && !Objects.equals(ExamRecordStatusEnum.FINISHED, examRecordStatusEnum)) {
|
|
|
|
+ websocketDto = new WebsocketDto(WebsocketTypeEnum.EXAM_START.name(), mqDto.getProperties());
|
|
|
|
+ }
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
break;
|
|
break;
|
|
@@ -289,19 +294,23 @@ public class MqOeLogicServiceImpl implements MqOeLogicService {
|
|
if (Objects.nonNull(mobileWebsocketId) && Objects.nonNull(webSocketMap.get(mobileWebsocketId + "-" + MonitorVideoSourceEnum.MOBILE_SECOND.name()))) {
|
|
if (Objects.nonNull(mobileWebsocketId) && Objects.nonNull(webSocketMap.get(mobileWebsocketId + "-" + MonitorVideoSourceEnum.MOBILE_SECOND.name()))) {
|
|
WebSocketMobileServer webSocketMobileServer = webSocketMap.get(mobileWebsocketId + "-" + MonitorVideoSourceEnum.MOBILE_SECOND.name());
|
|
WebSocketMobileServer webSocketMobileServer = webSocketMap.get(mobileWebsocketId + "-" + MonitorVideoSourceEnum.MOBILE_SECOND.name());
|
|
ExamRecordStatusEnum examRecordStatusEnum = ExamRecordCacheUtil.getStatus(recordId);
|
|
ExamRecordStatusEnum examRecordStatusEnum = ExamRecordCacheUtil.getStatus(recordId);
|
|
- if ((Objects.nonNull(examRecordStatusEnum)
|
|
|
|
- && !Objects.equals(ExamRecordStatusEnum.PERSISTED, examRecordStatusEnum)
|
|
|
|
- && !Objects.equals(ExamRecordStatusEnum.FINISHED, examRecordStatusEnum))
|
|
|
|
|
|
+ if (Objects.nonNull(examRecordStatusEnum)
|
|
&& Objects.nonNull(webSocketMobileServer.getRecordId())
|
|
&& Objects.nonNull(webSocketMobileServer.getRecordId())
|
|
&& webSocketMobileServer.getRecordId().longValue() == recordId.longValue()) {
|
|
&& webSocketMobileServer.getRecordId().longValue() == recordId.longValue()) {
|
|
// match.set(true);
|
|
// match.set(true);
|
|
WebsocketDto websocketDto = null;
|
|
WebsocketDto websocketDto = null;
|
|
switch (tag.toUpperCase()) {
|
|
switch (tag.toUpperCase()) {
|
|
case "EXAM_STOP":
|
|
case "EXAM_STOP":
|
|
- websocketDto = new WebsocketDto(WebsocketTypeEnum.EXAM_STOP.name(), mqDto.getProperties());
|
|
|
|
|
|
+ if (Objects.equals(ExamRecordStatusEnum.PERSISTED, examRecordStatusEnum)
|
|
|
|
+ || Objects.equals(ExamRecordStatusEnum.FINISHED, examRecordStatusEnum)) {
|
|
|
|
+ websocketDto = new WebsocketDto(WebsocketTypeEnum.EXAM_STOP.name(), mqDto.getProperties());
|
|
|
|
+ }
|
|
break;
|
|
break;
|
|
case "EXAM_START":
|
|
case "EXAM_START":
|
|
- websocketDto = new WebsocketDto(WebsocketTypeEnum.EXAM_START.name(), mqDto.getProperties());
|
|
|
|
|
|
+ if (!Objects.equals(ExamRecordStatusEnum.PERSISTED, examRecordStatusEnum)
|
|
|
|
+ && !Objects.equals(ExamRecordStatusEnum.FINISHED, examRecordStatusEnum)) {
|
|
|
|
+ websocketDto = new WebsocketDto(WebsocketTypeEnum.EXAM_START.name(), mqDto.getProperties());
|
|
|
|
+ }
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
break;
|
|
break;
|