Browse Source

调试代码提交

jingyuanchao 1 year ago
parent
commit
2069b14467

+ 1 - 0
soc-modules/soc-modules-mediator/src/main/java/com/xunmei/mediator/api/video/service/impl/VideoIntegrityCheckServiceImpl.java

@@ -96,6 +96,7 @@ public class VideoIntegrityCheckServiceImpl extends ServiceImpl<VideoIntegrityCh
         VideoIntegrityCheckReq checkReq = data.toJavaObject(VideoIntegrityCheckReq.class);
         checkReq.setToken(req.getToken());
         checkReq.setDeviceName(req.getDeviceName());
+        checkReq.setProductName(req.getProductName());
         VideoIntegrityCheckDto checkDto = transform(checkReq);
         SysOrg sysOrg = iotServerInfoService.selectOrgByToken(req.getToken());
         checkDto.setOrganizationGuid(sysOrg.getCode());

+ 9 - 0
soc-modules/soc-modules-mediator/src/main/java/com/xunmei/mediator/websocket/config/WebSocketConfig.java

@@ -4,10 +4,12 @@ import com.xunmei.mediator.websocket.handler.SocWebSocketHandler;
 import com.xunmei.mediator.websocket.interceptor.WebSocketInterceptor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfiguration;
+import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.web.socket.config.annotation.EnableWebSocket;
 import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
 import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;
+import org.springframework.web.socket.server.standard.ServletServerContainerFactoryBean;
 
 /**
  * @author gaoxiong
@@ -33,4 +35,11 @@ public class WebSocketConfig implements WebSocketConfigurer  {
                 .setAllowedOrigins("*")
                 .addInterceptors(webSocketInterceptor);
     }
+
+    @Bean
+    public ServletServerContainerFactoryBean createWebSocketContainer() {
+        ServletServerContainerFactoryBean container = new ServletServerContainerFactoryBean();
+        container.setMaxSessionIdleTimeout(0L);
+        return container;
+    }
 }

+ 3 - 0
soc-modules/soc-modules-mediator/src/main/java/com/xunmei/mediator/websocket/dto/WebsocketPayloadResolve.java

@@ -14,6 +14,7 @@ import lombok.NoArgsConstructor;
 @NoArgsConstructor
 public class WebsocketPayloadResolve {
 
+    private String topic;
     private String routingKey;
     private JSONObject header;
     private Object data;
@@ -38,6 +39,7 @@ public class WebsocketPayloadResolve {
                 this.routingKey = routingKey;
                 this.header = header;
                 this.data = object1;
+                this.topic=childResult.getTopic();
             }
         } else {
             String event = (String) parentPayload.get(WebSocketConstants.EVENT);
@@ -47,6 +49,7 @@ public class WebsocketPayloadResolve {
             this.routingKey = routingKey;
             this.header = header;
             this.data = parentPayload.get(WebSocketConstants.ARGS);
+            this.topic=result.getTopic();
         }
     }
 }

+ 4 - 6
soc-modules/soc-modules-mediator/src/main/java/com/xunmei/mediator/websocket/handler/SocWebSocketHandler.java

@@ -123,7 +123,8 @@ public class SocWebSocketHandler extends AbstractWebSocketHandler {
         try {
             WebsocketResult websocketResult = JSON.parseObject(payload, WebsocketResult.class);
             Object obj = websocketResult.getPayload();
-            String topic = websocketResult.getTopic();
+            WebsocketPayloadResolve payloadResolve = new WebsocketPayloadResolve(websocketResult);
+            String topic = payloadResolve.getTopic();
             if (ObjectUtil.isEmpty(obj)) {
                 LogUtils.WEBSOCKET_MSG.error("消息内容为空,topic:{}", topic);
                 return;
@@ -133,7 +134,6 @@ public class SocWebSocketHandler extends AbstractWebSocketHandler {
                 LogUtils.WEBSOCKET_MSG.error("消息topic错误,topic:{}", topic);
                 return;
             }
-            WebsocketPayloadResolve payloadResolve = new WebsocketPayloadResolve(websocketResult);
             //上报消息内容
             final Object args = payloadResolve.getData();
             WebsocketExecuteReq executeReq = new WebsocketExecuteReq(payloadResolve.getRoutingKey(), args, token, websocketResult.getId(), topic, payloadResolve.getHeader(), typeEnums.getProductName(), typeEnums.getDeviceName());
@@ -164,8 +164,6 @@ public class SocWebSocketHandler extends AbstractWebSocketHandler {
         } catch (Exception e) {
             LogUtils.WEBSOCKET_MSG.error("转换消息内容时出错:{}", e);
         }
-
-
     }
 
     /**
@@ -204,7 +202,7 @@ public class SocWebSocketHandler extends AbstractWebSocketHandler {
     @Override
     public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception {
         WebSocketSessionHolder.updateToken(session);
-        log.error("[传输错误] sessionId: {} , exception:{}", session.getId(), exception.getMessage());
+        LogUtils.WEBSOCKET_MSG.error("[传输错误] sessionId: {} , exception:{}", session.getId(), exception.getMessage());
     }
 
     /**
@@ -222,7 +220,7 @@ public class SocWebSocketHandler extends AbstractWebSocketHandler {
             serverInfo.setIotStatus(IotServerConnectStatus.OFFLINE.getIdx());
             iotServerInfoService.updateByToken(serverInfo);
         }
-        log.info("[断开连接] sessionId: {},token:{}", session.getId(), token);
+        LogUtils.WEBSOCKET_MSG.info("[断开连接] sessionId: {},token:{}", session.getId(), token);
     }
 
     /**