| | |
| | | |
| | | import cn.hutool.core.io.FileUtil; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.system.service.ICarService; |
| | | import org.bytedeco.ffmpeg.global.avcodec; |
| | | import org.bytedeco.ffmpeg.global.avutil; |
| | | import org.bytedeco.javacv.*; |
| | | import org.springframework.data.redis.core.RedisTemplate; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Map; |
| | | import java.util.concurrent.ConcurrentHashMap; |
| | | |
| | |
| | | |
| | | private static Map<Integer, Boolean> statusMap = new ConcurrentHashMap<>(); |
| | | |
| | | @Resource |
| | | private RedisTemplate redisTemplate; |
| | | |
| | | @Resource |
| | | private ICarService carService; |
| | | public static void main(String[] args) { |
| | | String url = "rtmp://127.0.0.1:1935/flv/test"; |
| | | JavaCVStreamUtil.push_flv("C:\\Users\\39373\\Desktop\\图片\\trailer.mp4", url, 0); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | |
| | | OpenCVFrameGrabber openCVFrameGrabber = grabberMap1.get(deviceNumber); |
| | | if (null != openCVFrameGrabber) { |
| | | openCVFrameGrabber.close(); |
| | | ; |
| | | } |
| | | FFmpegFrameRecorder fFmpegFrameRecorder = frameRecorderMap.get(deviceNumber); |
| | | if (null != fFmpegFrameRecorder) { |
| | |
| | | package com.ruoyi.dataInterchange.model; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonProperty; |
| | | import io.netty.buffer.ByteBuf; |
| | | import lombok.Data; |
| | | |
| | |
| | | * 解析报文 |
| | | */ |
| | | public DOWNConnectRsp decode(ByteBuf byteBuf) { |
| | | this.verifyCode = byteBuf.readByte(); |
| | | try { |
| | | this.verifyCode = byteBuf.readByte(); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return this; |
| | | } |
| | | } |
| | |
| | | * 解析登录报文 |
| | | */ |
| | | public UPAuthorizeMsgStartup decode(ByteBuf byteBuf) { |
| | | this.dataType = byteBuf.readShort(); |
| | | this.plateformId = Jtt809Util.readGBKString(byteBuf, 11); |
| | | this.authorizeCode1 = Jtt809Util.readGBKString(byteBuf, 64); |
| | | this.authorizeCode2 = Jtt809Util.readGBKString(byteBuf, 64); |
| | | try { |
| | | this.dataType = byteBuf.readShort(); |
| | | this.plateformId = Jtt809Util.readGBKString(byteBuf, 11); |
| | | this.authorizeCode1 = Jtt809Util.readGBKString(byteBuf, 64); |
| | | this.authorizeCode2 = Jtt809Util.readGBKString(byteBuf, 64); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return this; |
| | | } |
| | | } |
| | |
| | | * 解析报文 |
| | | */ |
| | | public UPBaseMsgVehicleAddedAck decode(BaseMsg baseMsg) { |
| | | byte[] data = baseMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = baseMsg.getVehicleNo(); |
| | | this.vehicleColor = baseMsg.getVehicleColor(); |
| | | this.dataType = baseMsg.getDataType(); |
| | | this.dataLength = baseMsg.getDataLength(); |
| | | |
| | | //车辆信息 |
| | | this.carInfo = Jtt809Util.readGBKString(byteBuf, baseMsg.getDataLength()); |
| | | try { |
| | | byte[] data = baseMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = baseMsg.getVehicleNo(); |
| | | this.vehicleColor = baseMsg.getVehicleColor(); |
| | | this.dataType = baseMsg.getDataType(); |
| | | this.dataLength = baseMsg.getDataLength(); |
| | | |
| | | //车辆信息 |
| | | this.carInfo = Jtt809Util.readGBKString(byteBuf, baseMsg.getDataLength()); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return this; |
| | | } |
| | | } |
| | |
| | | * 解析报文 |
| | | */ |
| | | public UPCloseLinkInform decode(ByteBuf byteBuf) { |
| | | this.reasonCode = byteBuf.readByte(); |
| | | try { |
| | | this.reasonCode = byteBuf.readByte(); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return this; |
| | | } |
| | | } |
| | |
| | | * 解析登录报文 |
| | | */ |
| | | public UPConnectReq decode(ByteBuf byteBuf) { |
| | | this.userId = byteBuf.readInt(); |
| | | this.password = Jtt809Util.readGBKString(byteBuf, 8); |
| | | this.downLinkIp = Jtt809Util.readGBKString(byteBuf, 32); |
| | | this.downLinkPort = byteBuf.readUnsignedShort(); |
| | | try { |
| | | this.userId = byteBuf.readInt(); |
| | | this.password = Jtt809Util.readGBKString(byteBuf, 8); |
| | | this.downLinkIp = Jtt809Util.readGBKString(byteBuf, 32); |
| | | this.downLinkPort = byteBuf.readUnsignedShort(); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return this; |
| | | } |
| | | |
| | |
| | | package com.ruoyi.dataInterchange.model; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonProperty; |
| | | import com.ruoyi.dataInterchange.util.jtt809.common.Jtt809Util; |
| | | import io.netty.buffer.ByteBuf; |
| | | import lombok.Data; |
| | | |
| | |
| | | * 解析报文 |
| | | */ |
| | | public UPDisconnectInform decode(ByteBuf byteBuf) { |
| | | this.errorCode = byteBuf.readByte(); |
| | | try { |
| | | this.errorCode = byteBuf.readByte(); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return this; |
| | | } |
| | | } |
| | |
| | | * 解析报文 |
| | | */ |
| | | public UPDisconnectReq decode(ByteBuf byteBuf) { |
| | | this.userId = byteBuf.readInt(); |
| | | this.password = Jtt809Util.readGBKString(byteBuf, 12); |
| | | try { |
| | | this.userId = byteBuf.readInt(); |
| | | this.password = Jtt809Util.readGBKString(byteBuf, 12); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return this; |
| | | } |
| | | } |
| | |
| | | * 解析报文 |
| | | */ |
| | | public UPExgMsgHistoryLocation decode(UPExgMsg exgMsg) { |
| | | byte[] data = exgMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = exgMsg.getVehicleNo(); |
| | | this.vehicleColor = exgMsg.getVehicleColor(); |
| | | this.dataType = exgMsg.getDataType(); |
| | | this.dataLength = exgMsg.getDataLength(); |
| | | this.gnssCnt = byteBuf.readByte(); |
| | | List<GnssData> gnssData = new ArrayList<>(); |
| | | for (int i = 0; i < this.gnssCnt; i++) { |
| | | gnssData.add(new GnssData().decode(byteBuf)); |
| | | try { |
| | | byte[] data = exgMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = exgMsg.getVehicleNo(); |
| | | this.vehicleColor = exgMsg.getVehicleColor(); |
| | | this.dataType = exgMsg.getDataType(); |
| | | this.dataLength = exgMsg.getDataLength(); |
| | | this.gnssCnt = byteBuf.readByte(); |
| | | List<GnssData> gnssData = new ArrayList<>(); |
| | | for (int i = 0; i < this.gnssCnt; i++) { |
| | | gnssData.add(new GnssData().decode(byteBuf)); |
| | | } |
| | | this.gnssData = gnssData; |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | this.gnssData = gnssData; |
| | | return this; |
| | | } |
| | | } |
| | |
| | | * 解析报文 |
| | | */ |
| | | public UPExgMsgRealLocation decode(UPExgMsg exgMsg) { |
| | | byte[] data = exgMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = exgMsg.getVehicleNo(); |
| | | this.vehicleColor = exgMsg.getVehicleColor(); |
| | | this.dataType = exgMsg.getDataType(); |
| | | this.dataLength = exgMsg.getDataLength(); |
| | | this.gnssData = new GnssData().decode(byteBuf); |
| | | try { |
| | | byte[] data = exgMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = exgMsg.getVehicleNo(); |
| | | this.vehicleColor = exgMsg.getVehicleColor(); |
| | | this.dataType = exgMsg.getDataType(); |
| | | this.dataLength = exgMsg.getDataLength(); |
| | | this.gnssData = new GnssData().decode(byteBuf); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return this; |
| | | } |
| | | } |
| | |
| | | * 解析报文 |
| | | */ |
| | | public UPExgMsgRegister decode(UPExgMsg exgMsg) { |
| | | byte[] data = exgMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = exgMsg.getVehicleNo(); |
| | | this.vehicleColor = exgMsg.getVehicleColor(); |
| | | this.dataType = exgMsg.getDataType(); |
| | | this.dataLength = exgMsg.getDataLength(); |
| | | |
| | | //平台唯一编码 |
| | | this.platformId = Jtt809Util.readGBKString(byteBuf, 11); |
| | | //车载终端厂商唯一编码 |
| | | this.producerId = Jtt809Util.readGBKString(byteBuf, 11); |
| | | //车载终端型号 |
| | | this.terminalModelType = Jtt809Util.readGBKString(byteBuf, 8); |
| | | //车载终端编号 |
| | | this.terminalId = Jtt809Util.readGBKString(byteBuf, 7); |
| | | //车载终端SIM卡电话号码 |
| | | this.terminalSIMCode = Jtt809Util.readGBKString(byteBuf, 12); |
| | | try { |
| | | byte[] data = exgMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = exgMsg.getVehicleNo(); |
| | | this.vehicleColor = exgMsg.getVehicleColor(); |
| | | this.dataType = exgMsg.getDataType(); |
| | | this.dataLength = exgMsg.getDataLength(); |
| | | |
| | | //平台唯一编码 |
| | | this.platformId = Jtt809Util.readGBKString(byteBuf, 11); |
| | | //车载终端厂商唯一编码 |
| | | this.producerId = Jtt809Util.readGBKString(byteBuf, 11); |
| | | //车载终端型号 |
| | | this.terminalModelType = Jtt809Util.readGBKString(byteBuf, 8); |
| | | //车载终端编号 |
| | | this.terminalId = Jtt809Util.readGBKString(byteBuf, 7); |
| | | //车载终端SIM卡电话号码 |
| | | this.terminalSIMCode = Jtt809Util.readGBKString(byteBuf, 12); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return this; |
| | | } |
| | | } |
| | |
| | | * 解析报文 |
| | | */ |
| | | public UPExgMsgReportDriverInfoAck decode(UPExgMsg exgMsg) { |
| | | byte[] data = exgMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = exgMsg.getVehicleNo(); |
| | | this.vehicleColor = exgMsg.getVehicleColor(); |
| | | this.dataType = exgMsg.getDataType(); |
| | | this.dataLength = exgMsg.getDataLength(); |
| | | this.driverName = Jtt809Util.readGBKString(byteBuf, 16); |
| | | this.driverId = Jtt809Util.readGBKString(byteBuf, 20); |
| | | this.licence = Jtt809Util.readGBKString(byteBuf, 40); |
| | | this.orgName = Jtt809Util.readGBKString(byteBuf, 200); |
| | | try { |
| | | byte[] data = exgMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = exgMsg.getVehicleNo(); |
| | | this.vehicleColor = exgMsg.getVehicleColor(); |
| | | this.dataType = exgMsg.getDataType(); |
| | | this.dataLength = exgMsg.getDataLength(); |
| | | this.driverName = Jtt809Util.readGBKString(byteBuf, 16); |
| | | this.driverId = Jtt809Util.readGBKString(byteBuf, 20); |
| | | this.licence = Jtt809Util.readGBKString(byteBuf, 40); |
| | | this.orgName = Jtt809Util.readGBKString(byteBuf, 200); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return this; |
| | | } |
| | | } |
| | |
| | | * 解析报文 |
| | | */ |
| | | public UPExgMsgTakeEwayBillAck decode(UPExgMsg exgMsg) { |
| | | byte[] data = exgMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = exgMsg.getVehicleNo(); |
| | | this.vehicleColor = exgMsg.getVehicleColor(); |
| | | this.dataType = exgMsg.getDataType(); |
| | | this.dataLength = exgMsg.getDataLength(); |
| | | this.ewayBillLength = byteBuf.readInt(); |
| | | this.ewayBillInfo = Jtt809Util.readGBKString(byteBuf, this.ewayBillLength); |
| | | try { |
| | | byte[] data = exgMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = exgMsg.getVehicleNo(); |
| | | this.vehicleColor = exgMsg.getVehicleColor(); |
| | | this.dataType = exgMsg.getDataType(); |
| | | this.dataLength = exgMsg.getDataLength(); |
| | | this.ewayBillLength = byteBuf.readInt(); |
| | | this.ewayBillInfo = Jtt809Util.readGBKString(byteBuf, this.ewayBillLength); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return this; |
| | | } |
| | | } |
| | |
| | | * 解析报文 |
| | | */ |
| | | public UPPlaybackMsgControlAck decode(PlaybackMsg playbackMsg) { |
| | | byte[] data = playbackMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = playbackMsg.getVehicleNo(); |
| | | this.vehicleColor = playbackMsg.getVehicleColor(); |
| | | this.dataType = playbackMsg.getDataType(); |
| | | this.dataLength = playbackMsg.getDataLength(); |
| | | this.result = byteBuf.readByte(); |
| | | try { |
| | | byte[] data = playbackMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = playbackMsg.getVehicleNo(); |
| | | this.vehicleColor = playbackMsg.getVehicleColor(); |
| | | this.dataType = playbackMsg.getDataType(); |
| | | this.dataLength = playbackMsg.getDataLength(); |
| | | this.result = byteBuf.readByte(); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return this; |
| | | } |
| | | } |
| | |
| | | * 解析报文 |
| | | */ |
| | | public UPPlaybackMsgStartupAck decode(PlaybackMsg playbackMsg) { |
| | | byte[] data = playbackMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = playbackMsg.getVehicleNo(); |
| | | this.vehicleColor = playbackMsg.getVehicleColor(); |
| | | this.dataType = playbackMsg.getDataType(); |
| | | this.dataLength = playbackMsg.getDataLength(); |
| | | |
| | | this.serverIP = Jtt809Util.readGBKString(byteBuf, 32); |
| | | this.serverPort = byteBuf.readShort(); |
| | | this.result = byteBuf.readByte(); |
| | | try { |
| | | byte[] data = playbackMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = playbackMsg.getVehicleNo(); |
| | | this.vehicleColor = playbackMsg.getVehicleColor(); |
| | | this.dataType = playbackMsg.getDataType(); |
| | | this.dataLength = playbackMsg.getDataLength(); |
| | | |
| | | this.serverIP = Jtt809Util.readGBKString(byteBuf, 32); |
| | | this.serverPort = byteBuf.readShort(); |
| | | this.result = byteBuf.readByte(); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return this; |
| | | } |
| | | } |
| | |
| | | * 解析报文 |
| | | */ |
| | | public UPRealvideoMsgEndAck decode(RealVideoMsg realVideoMsg) { |
| | | byte[] data = realVideoMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = realVideoMsg.getVehicleNo(); |
| | | this.vehicleColor = realVideoMsg.getVehicleColor(); |
| | | this.dataType = realVideoMsg.getDataType(); |
| | | this.dataLength = realVideoMsg.getDataLength(); |
| | | |
| | | //报警处理结果 |
| | | this.result = byteBuf.readByte(); |
| | | try { |
| | | byte[] data = realVideoMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = realVideoMsg.getVehicleNo(); |
| | | this.vehicleColor = realVideoMsg.getVehicleColor(); |
| | | this.dataType = realVideoMsg.getDataType(); |
| | | this.dataLength = realVideoMsg.getDataLength(); |
| | | |
| | | //报警处理结果 |
| | | this.result = byteBuf.readByte(); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return this; |
| | | } |
| | | } |
| | |
| | | * 解析报文 |
| | | */ |
| | | public UPRealvideoMsgStartupAck decode(RealVideoMsg realVideoMsg) { |
| | | byte[] data = realVideoMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = realVideoMsg.getVehicleNo(); |
| | | this.vehicleColor = realVideoMsg.getVehicleColor(); |
| | | this.dataType = realVideoMsg.getDataType(); |
| | | this.dataLength = realVideoMsg.getDataLength(); |
| | | |
| | | //报警处理结果 |
| | | this.result = byteBuf.readByte(); |
| | | this.serverIP = Jtt809Util.readGBKString(byteBuf, 32); |
| | | this.serverPort = byteBuf.readShort(); |
| | | try { |
| | | byte[] data = realVideoMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = realVideoMsg.getVehicleNo(); |
| | | this.vehicleColor = realVideoMsg.getVehicleColor(); |
| | | this.dataType = realVideoMsg.getDataType(); |
| | | this.dataLength = realVideoMsg.getDataLength(); |
| | | |
| | | //报警处理结果 |
| | | this.result = byteBuf.readByte(); |
| | | this.serverIP = Jtt809Util.readGBKString(byteBuf, 32); |
| | | this.serverPort = byteBuf.readShort(); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return this; |
| | | } |
| | | } |
| | |
| | | * 解析报文 |
| | | */ |
| | | public UPWarnMsgAdptInfo decode(WarnMsg warnMsg) { |
| | | byte[] data = warnMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = warnMsg.getVehicleNo(); |
| | | this.vehicleColor = warnMsg.getVehicleColor(); |
| | | this.dataType = warnMsg.getDataType(); |
| | | this.dataLength = warnMsg.getDataLength(); |
| | | |
| | | //报警信息来源 |
| | | this.warnSrc = byteBuf.readByte(); |
| | | //报警类型 |
| | | this.warnType = byteBuf.readShort(); |
| | | byte[] readableBytes = new byte[8]; |
| | | byteBuf.readBytes(readableBytes); |
| | | String time = ByteArrayUtil.bytes2HexStr(readableBytes); |
| | | //报警时间 |
| | | this.warnTime = Long.parseLong(time, 16); |
| | | //信息ID |
| | | this.infoId = byteBuf.readInt(); |
| | | //报警数据长度 |
| | | this.infoLength = byteBuf.readInt(); |
| | | //上报报警信息内容 |
| | | this.infoContent = Jtt809Util.readGBKString(byteBuf, this.infoLength); |
| | | try { |
| | | byte[] data = warnMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = warnMsg.getVehicleNo(); |
| | | this.vehicleColor = warnMsg.getVehicleColor(); |
| | | this.dataType = warnMsg.getDataType(); |
| | | this.dataLength = warnMsg.getDataLength(); |
| | | |
| | | //报警信息来源 |
| | | this.warnSrc = byteBuf.readByte(); |
| | | //报警类型 |
| | | this.warnType = byteBuf.readShort(); |
| | | byte[] readableBytes = new byte[8]; |
| | | byteBuf.readBytes(readableBytes); |
| | | String time = ByteArrayUtil.bytes2HexStr(readableBytes); |
| | | //报警时间 |
| | | this.warnTime = Long.parseLong(time, 16); |
| | | //信息ID |
| | | this.infoId = byteBuf.readInt(); |
| | | //报警数据长度 |
| | | this.infoLength = byteBuf.readInt(); |
| | | //上报报警信息内容 |
| | | this.infoContent = Jtt809Util.readGBKString(byteBuf, this.infoLength); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return this; |
| | | } |
| | | } |
| | |
| | | * 解析报文 |
| | | */ |
| | | public UPWarnMsgUrgeTodoAck decode(WarnMsg warnMsg) { |
| | | byte[] data = warnMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = warnMsg.getVehicleNo(); |
| | | this.vehicleColor = warnMsg.getVehicleColor(); |
| | | this.dataType = warnMsg.getDataType(); |
| | | this.dataLength = warnMsg.getDataLength(); |
| | | |
| | | //报警督办ID |
| | | this.supervisionId = byteBuf.readInt(); |
| | | //报警处理结果 |
| | | this.result = byteBuf.readByte(); |
| | | try { |
| | | byte[] data = warnMsg.getData(); |
| | | ByteBuf byteBuf = Unpooled.wrappedBuffer(data); |
| | | this.vehicleNo = warnMsg.getVehicleNo(); |
| | | this.vehicleColor = warnMsg.getVehicleColor(); |
| | | this.dataType = warnMsg.getDataType(); |
| | | this.dataLength = warnMsg.getDataLength(); |
| | | |
| | | //报警督办ID |
| | | this.supervisionId = byteBuf.readInt(); |
| | | //报警处理结果 |
| | | this.result = byteBuf.readByte(); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return this; |
| | | } |
| | | } |
| | |
| | | return; |
| | | } |
| | | int gnsscenterId = out.getGnsscenterId(); |
| | | //保存链路 |
| | | ChannelMap.addServerChannel(gnsscenterId, ctx.channel()); |
| | | OuterPacket rep = new OuterPacket(DataType.UP_LINKTEST_RSP.getCode(), null); |
| | | log.info("主链路连接保持应答({}):{}", DataType.UP_LINKTEST_RSP.getCode(), JSON.toJSONString(rep)); |