|
@@ -1,8 +1,10 @@
|
|
|
package com.qmth.themis.exam.websocket;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.google.gson.Gson;
|
|
|
import com.qmth.themis.business.constant.SpringContextHolder;
|
|
|
import com.qmth.themis.business.constant.SystemConstant;
|
|
|
+import com.qmth.themis.business.dto.WebsocketDto;
|
|
|
import com.qmth.themis.business.entity.TBSession;
|
|
|
import com.qmth.themis.business.enums.MqEnum;
|
|
|
import com.qmth.themis.business.enums.SystemOperationEnum;
|
|
@@ -182,12 +184,13 @@ public class WebSocketOeServer
|
|
|
log.info("onMessage:{}", jsonObject.toJSONString());
|
|
|
if (Objects.nonNull(jsonObject)) {
|
|
|
WebSocketOeMessageTemplete webSocketOeMessageTemplete = SpringContextHolder.getBean(WebSocketOeMessageTemplete.class);
|
|
|
- String type = String.valueOf(jsonObject.get("type"));
|
|
|
- Long time = Long.parseLong(String.valueOf(jsonObject.get("time")));
|
|
|
+ Gson gson = new Gson();
|
|
|
+ WebsocketDto websocketDto = gson.fromJson(gson.toJson(jsonObject), WebsocketDto.class);
|
|
|
//todo 加入当前时间和time比较的校验
|
|
|
jsonObject.getJSONObject("body").put("recordId", this.recordId);
|
|
|
- Method method = webSocketOeMessageTemplete.getClass().getDeclaredMethod(WebsocketTypeEnum.valueOf(type).getDesc(), String.class);
|
|
|
- Result result = (Result) method.invoke(webSocketOeMessageTemplete, String.valueOf(jsonObject.get("body")));
|
|
|
+ websocketDto.setBody(jsonObject.getJSONObject("body"));
|
|
|
+ Method method = webSocketOeMessageTemplete.getClass().getDeclaredMethod(WebsocketTypeEnum.valueOf(websocketDto.getType()).getDesc(), String.class);
|
|
|
+ WebsocketDto result = (WebsocketDto) method.invoke(webSocketOeMessageTemplete, String.valueOf(websocketDto.getBody()));
|
|
|
this.sendMessage(JSONObject.toJSONString(result));
|
|
|
}
|
|
|
} catch (Exception e) {
|