|
@@ -6,6 +6,7 @@ import com.qmth.themis.business.constant.SpringContextHolder;
|
|
import com.qmth.themis.business.constant.SystemConstant;
|
|
import com.qmth.themis.business.constant.SystemConstant;
|
|
import com.qmth.themis.business.dto.MqDto;
|
|
import com.qmth.themis.business.dto.MqDto;
|
|
import com.qmth.themis.business.dto.WebsocketDto;
|
|
import com.qmth.themis.business.dto.WebsocketDto;
|
|
|
|
+import com.qmth.themis.business.entity.TOeExamRecord;
|
|
import com.qmth.themis.business.enums.ExamRecordStatusEnum;
|
|
import com.qmth.themis.business.enums.ExamRecordStatusEnum;
|
|
import com.qmth.themis.business.enums.MqTagEnum;
|
|
import com.qmth.themis.business.enums.MqTagEnum;
|
|
import com.qmth.themis.business.enums.WebsocketStatusEnum;
|
|
import com.qmth.themis.business.enums.WebsocketStatusEnum;
|
|
@@ -179,9 +180,28 @@ public class WebSocketOeServer implements Concurrently {
|
|
if (Objects.nonNull(jsonObject)) {
|
|
if (Objects.nonNull(jsonObject)) {
|
|
WebSocketOeMessageTemplete webSocketOeMessageTemplete = SpringContextHolder
|
|
WebSocketOeMessageTemplete webSocketOeMessageTemplete = SpringContextHolder
|
|
.getBean(WebSocketOeMessageTemplete.class);
|
|
.getBean(WebSocketOeMessageTemplete.class);
|
|
|
|
+ TOeExamRecordService tOeExamRecordService = SpringContextHolder.getBean(TOeExamRecordService.class);
|
|
|
|
+ MqUtil mqUtil = SpringContextHolder.getBean(MqUtil.class);
|
|
|
|
+ MqDtoService mqDtoService = SpringContextHolder.getBean(MqDtoService.class);
|
|
|
|
+
|
|
WebsocketDto websocketDto = GsonUtil.fromJson(GsonUtil.toJson(jsonObject), WebsocketDto.class);
|
|
WebsocketDto websocketDto = GsonUtil.fromJson(GsonUtil.toJson(jsonObject), WebsocketDto.class);
|
|
jsonObject.getJSONObject(SystemConstant.BODY).put(SystemConstant.RECORD_ID, this.recordId);
|
|
jsonObject.getJSONObject(SystemConstant.BODY).put(SystemConstant.RECORD_ID, this.recordId);
|
|
websocketDto.setBody(jsonObject.getJSONObject(SystemConstant.BODY));
|
|
websocketDto.setBody(jsonObject.getJSONObject(SystemConstant.BODY));
|
|
|
|
+ //2022.04.13 补发OE_WEBSOCKET_EXAM_STOP消息
|
|
|
|
+ ExamRecordStatusEnum statusEnum = ExamRecordCacheUtil.getStatus(this.recordId);
|
|
|
|
+ if (Objects.isNull(statusEnum)) {
|
|
|
|
+ TOeExamRecord tOeExamRecord = tOeExamRecordService.getById(this.recordId);
|
|
|
|
+ statusEnum = tOeExamRecord.getStatus();
|
|
|
|
+ }
|
|
|
|
+ if (Objects.nonNull(statusEnum) && (statusEnum == ExamRecordStatusEnum.FINISHED
|
|
|
|
+ || statusEnum == ExamRecordStatusEnum.PERSISTED || statusEnum == ExamRecordStatusEnum.JUNK)) {
|
|
|
|
+ Map<String, Object> properties = new HashMap<>();
|
|
|
|
+ properties.put(SystemConstant.REMOVE_WEBSOCKET, true);
|
|
|
|
+ MqDto clientMqDto = new MqDto(mqUtil.getTopic(), MqTagEnum.OE_WEBSOCKET_EXAM_STOP.name(),
|
|
|
|
+ recordId, MqTagEnum.OE_WEBSOCKET_EXAM_STOP, String.valueOf(recordId), properties,
|
|
|
|
+ String.valueOf(recordId));
|
|
|
|
+ mqDtoService.assembleSendOneOrderMsg(clientMqDto);
|
|
|
|
+ }
|
|
WebsocketTypeEnum websocketTypeEnum = WebsocketTypeEnum
|
|
WebsocketTypeEnum websocketTypeEnum = WebsocketTypeEnum
|
|
.valueOf(websocketDto.getType().toUpperCase());
|
|
.valueOf(websocketDto.getType().toUpperCase());
|
|
if (Objects.nonNull(websocketTypeEnum) && (websocketTypeEnum == WebsocketTypeEnum.SYNC_STATUS
|
|
if (Objects.nonNull(websocketTypeEnum) && (websocketTypeEnum == WebsocketTypeEnum.SYNC_STATUS
|