puzhibing
2 天以前 4ad32c37e3317fb6cb7cbfb034b53d3220c27db4
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/netty/server/NettyHandle.java
@@ -10,11 +10,10 @@
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
/**
 * 自定义handler
 *
 * @author zhibing.pu
 * @Date 2025/3/3 19:30
 */
@@ -55,6 +54,14 @@
   @Resource
   private BaseMsgService baseMsgService = SpringUtils.getBean(BaseMsgService.class);
   
   @Resource
   private AuthorizeMsgService authorizeMsgService = SpringUtils.getBean(AuthorizeMsgService.class);
   @Resource
   private RealvideoMsgService realvideoMsgService = SpringUtils.getBean(RealvideoMsgService.class);
   @Resource
   private PlaybackMsgService playbackMsgService = SpringUtils.getBean(PlaybackMsgService.class);
   
   
   @Override
@@ -77,7 +84,7 @@
      //数据头
      String head = msg.substring(0, 2); //--头标识
      String tail = msg.substring(msg.length() - 2);
      String datalength= msg.substring(2, 10);//--数据头->数据长度
      String datalength = msg.substring(2, 10);//--数据头->数据长度
      String dataSeqNo = msg.substring(10, 18);// --数据头->报文序列号
      String bizdata = msg.substring(18, 22);// --数据头->业务数据类型
      String code = msg.substring(22, 30); //--数据头->下级平台接入码,上级平台给下级平台分配唯一标识码
@@ -88,7 +95,7 @@
      
      //数据体
      String body = msg.substring(62, msg.length() - 2);
   }
   
   
@@ -113,19 +120,16 @@
   }
   
   
   /**
    * 业务路由
    *
    * @param dataType
    * @param ctx
    * @param out
    */
   public void serviceRouting(DataType dataType, ChannelHandlerContext ctx, OuterPacket out){
      switch (dataType){
   public void serviceRouting(DataType dataType, ChannelHandlerContext ctx, OuterPacket out) {
      log.info("主链路信息交换响应({}):{}", dataType.getCode(), out);
      switch (dataType) {
         case UP_CONNECT_REQ:
            log.info("主链路登录请求({}):{}", DataType.UP_CONNECT_REQ.getCode(), out);
            connectReqService.connect(ctx, out);
@@ -137,33 +141,6 @@
         case UP_LINKTEST_REQ:
            log.info("主链路连接保持请求({}):{}", DataType.UP_LINKTEST_REQ.getCode(), out);
            upLinkTestReqService.linkTest(ctx, out);
            break;
         case UP_DISCONNECT_INFORM:
            log.info("主链路断开通知请求({}):{}", DataType.UP_DISCONNECT_INFORM.getCode(), out);
            upDisconnectInformService.disconnect(ctx, out);
            break;
         case UP_CLOSELINK_INFORM:
            log.info("下级平台主动关闭主从链路通知({}):{}", DataType.UP_CLOSELINK_INFORM.getCode(), out);
            upCloseLinkInformService.closeLinkInform(ctx, out);
            break;
         case DOWN_CONNECT_RSP:
            log.info("从链路连接应答({}):{}", DataType.DOWN_CONNECT_RSP.getCode(), out);
            downConnectRspService.connectRsp(ctx, out);
            break;
         case DOWN_DISCONNECT_RSP:
            log.info("从链路注销应答({}):{}", DataType.DOWN_DISCONNECT_RSP.getCode(), out);
            break;
         case DOWN_LINKTEST_RSP:
            log.info("从链路连接保持应答({}):{}", DataType.DOWN_LINKTEST_RSP.getCode(), out);
            break;
         case UP_MANAGE_TOTAL_RECV_BACK_MSG:
            log.info("发送车辆定位信息数量通知({}):{}", DataType.UP_MANAGE_TOTAL_RECV_BACK_MSG.getCode(), out);
            break;
         case UP_MANAGE_MSG_RSP:
            log.info("平台链路连接情况与车辆定位消息传输情况上报应答消息({}):{}", DataType.UP_MANAGE_MSG_RSP.getCode(), out);
            break;
         case UP_MANAGE_MSG_SN_INFORM:
            log.info("上传平台间消息序列号通知({}):{}", DataType.UP_MANAGE_MSG_SN_INFORM.getCode(), out);
            break;
         case UP_EXG_MSG:
            log.info("主链路车辆动态信息交换({}):{}", DataType.UP_EXG_MSG.getCode(), out);
@@ -185,6 +162,18 @@
            log.info("车辆静态信息交换业务({}):{}", DataType.UP_BASE_MSG.getCode(), out);
            baseMsgService.up_base_msg(ctx, out);
            break;
         case UP_AUTHORIZE_MSG:
            log.info("视频时效口令交互({}):{}", DataType.UP_AUTHORIZE_MSG.getCode(), out);
            authorizeMsgService.up_authorize_msg(ctx, out);
            break;
         case UP_REALVIDEO_MSG:
            log.info("实时音视频交互({}):{}", DataType.UP_REALVIDEO_MSG.getCode(), out);
            realvideoMsgService.up_realvideo_msg(ctx, out);
            break;
         case UP_PLAYBACK_MSG:
            log.info("远程录像回放交互({}):{}", DataType.UP_PLAYBACK_MSG.getCode(), out);
            playbackMsgService.up_playback_msg(ctx, out);
            break;
         default:
            break;
      }