puzhibing
2025-04-25 0dcba4fd1cb536ab426622e31213d8a0194449ff
Merge remote-tracking branch 'origin/master'
19个文件已修改
86 ■■■■ 已修改文件
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/util/JavaCVStreamUtil.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/DOWNConnectRsp.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPBaseMsgVehicleAddedAck.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPCloseLinkInform.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPConnectReq.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPDisconnectInform.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPDisconnectReq.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPExgMsgHistoryLocation.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPExgMsgRealLocation.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPExgMsgRegister.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPExgMsgReportDriverInfoAck.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPExgMsgTakeEwayBillAck.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPPlaybackMsgControlAck.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPPlaybackMsgStartupAck.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPRealvideoMsgEndAck.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPRealvideoMsgStartupAck.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPWarnMsgAdptInfo.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPWarnMsgUrgeTodoAck.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/UPLinkTestReqService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/util/JavaCVStreamUtil.java
@@ -2,14 +2,11 @@
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;
@@ -31,11 +28,13 @@
    
    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);
    }
    
    
    /**
@@ -54,7 +53,6 @@
            OpenCVFrameGrabber openCVFrameGrabber = grabberMap1.get(deviceNumber);
            if (null != openCVFrameGrabber) {
                openCVFrameGrabber.close();
                ;
            }
            FFmpegFrameRecorder fFmpegFrameRecorder = frameRecorderMap.get(deviceNumber);
            if (null != fFmpegFrameRecorder) {
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/DOWNConnectRsp.java
@@ -1,6 +1,5 @@
package com.ruoyi.dataInterchange.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.netty.buffer.ByteBuf;
import lombok.Data;
@@ -26,7 +25,11 @@
     * 解析报文
     */
    public DOWNConnectRsp decode(ByteBuf byteBuf) {
        try {
        this.verifyCode = byteBuf.readByte();
        }catch (Exception e){
            e.printStackTrace();
        }
        return this;
    }
}
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPBaseMsgVehicleAddedAck.java
@@ -38,6 +38,7 @@
     * 解析报文
     */
    public UPBaseMsgVehicleAddedAck decode(BaseMsg baseMsg) {
        try {
        byte[] data = baseMsg.getData();
        ByteBuf byteBuf = Unpooled.wrappedBuffer(data);
        this.vehicleNo = baseMsg.getVehicleNo();
@@ -47,6 +48,9 @@
        
        //车辆信息
        this.carInfo = Jtt809Util.readGBKString(byteBuf, baseMsg.getDataLength());
        }catch (Exception e){
            e.printStackTrace();
        }
        return this;
    }
}
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPCloseLinkInform.java
@@ -22,7 +22,11 @@
     * 解析报文
     */
    public UPCloseLinkInform decode(ByteBuf byteBuf) {
        try {
        this.reasonCode = byteBuf.readByte();
        }catch (Exception e){
            e.printStackTrace();
        }
        return this;
    }
}
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPConnectReq.java
@@ -34,10 +34,14 @@
     * 解析登录报文
     */
    public UPConnectReq decode(ByteBuf byteBuf) {
        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;
    }
    
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPDisconnectInform.java
@@ -1,7 +1,5 @@
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;
@@ -23,7 +21,11 @@
     * 解析报文
     */
    public UPDisconnectInform decode(ByteBuf byteBuf) {
        try {
        this.errorCode = byteBuf.readByte();
        }catch (Exception e){
            e.printStackTrace();
        }
        return this;
    }
}
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPDisconnectReq.java
@@ -26,8 +26,12 @@
     * 解析报文
     */
    public UPDisconnectReq decode(ByteBuf byteBuf) {
        try {
        this.userId = byteBuf.readInt();
        this.password = Jtt809Util.readGBKString(byteBuf, 12);
        }catch (Exception e){
            e.printStackTrace();
        }
        return this;
    }
}
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPExgMsgHistoryLocation.java
@@ -56,6 +56,7 @@
     * 解析报文
     */
    public UPExgMsgHistoryLocation decode(UPExgMsg exgMsg) {
        try {
        byte[] data = exgMsg.getData();
        ByteBuf byteBuf = Unpooled.wrappedBuffer(data);
        this.vehicleNo = exgMsg.getVehicleNo();
@@ -68,6 +69,9 @@
            gnssData.add(new GnssData().decode(byteBuf));
        }
        this.gnssData = gnssData;
        }catch (Exception e){
            e.printStackTrace();
        }
        return this;
    }
}
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPExgMsgRealLocation.java
@@ -48,6 +48,7 @@
     * 解析报文
     */
    public UPExgMsgRealLocation decode(UPExgMsg exgMsg) {
        try {
        byte[] data = exgMsg.getData();
        ByteBuf byteBuf = Unpooled.wrappedBuffer(data);
        this.vehicleNo = exgMsg.getVehicleNo();
@@ -55,6 +56,9 @@
        this.dataType = exgMsg.getDataType();
        this.dataLength = exgMsg.getDataLength();
        this.gnssData = new GnssData().decode(byteBuf);
        }catch (Exception e){
            e.printStackTrace();
        }
        return this;
    }
}
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPExgMsgRegister.java
@@ -69,6 +69,7 @@
     * 解析报文
     */
    public UPExgMsgRegister decode(UPExgMsg exgMsg) {
        try {
        byte[] data = exgMsg.getData();
        ByteBuf byteBuf = Unpooled.wrappedBuffer(data);
        this.vehicleNo = exgMsg.getVehicleNo();
@@ -86,6 +87,9 @@
        this.terminalId = Jtt809Util.readGBKString(byteBuf, 7);
        //车载终端SIM卡电话号码
        this.terminalSIMCode = Jtt809Util.readGBKString(byteBuf, 12);
        }catch (Exception e){
            e.printStackTrace();
        }
        return this;
    }
}
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPExgMsgReportDriverInfoAck.java
@@ -64,6 +64,7 @@
     * 解析报文
     */
    public UPExgMsgReportDriverInfoAck decode(UPExgMsg exgMsg) {
        try {
        byte[] data = exgMsg.getData();
        ByteBuf byteBuf = Unpooled.wrappedBuffer(data);
        this.vehicleNo = exgMsg.getVehicleNo();
@@ -74,6 +75,9 @@
        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;
    }
}
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPExgMsgTakeEwayBillAck.java
@@ -54,6 +54,7 @@
     * 解析报文
     */
    public UPExgMsgTakeEwayBillAck decode(UPExgMsg exgMsg) {
        try {
        byte[] data = exgMsg.getData();
        ByteBuf byteBuf = Unpooled.wrappedBuffer(data);
        this.vehicleNo = exgMsg.getVehicleNo();
@@ -62,6 +63,9 @@
        this.dataLength = exgMsg.getDataLength();
        this.ewayBillLength = byteBuf.readInt();
        this.ewayBillInfo = Jtt809Util.readGBKString(byteBuf, this.ewayBillLength);
        }catch (Exception e){
            e.printStackTrace();
        }
        return this;
    }
}
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPPlaybackMsgControlAck.java
@@ -52,6 +52,7 @@
     * 解析报文
     */
    public UPPlaybackMsgControlAck decode(PlaybackMsg playbackMsg) {
        try {
        byte[] data = playbackMsg.getData();
        ByteBuf byteBuf = Unpooled.wrappedBuffer(data);
        this.vehicleNo = playbackMsg.getVehicleNo();
@@ -59,6 +60,9 @@
        this.dataType = playbackMsg.getDataType();
        this.dataLength = playbackMsg.getDataLength();
        this.result = byteBuf.readByte();
        }catch (Exception e){
            e.printStackTrace();
        }
        return this;
    }
}
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPPlaybackMsgStartupAck.java
@@ -65,6 +65,7 @@
     * 解析报文
     */
    public UPPlaybackMsgStartupAck decode(PlaybackMsg playbackMsg) {
        try {
        byte[] data = playbackMsg.getData();
        ByteBuf byteBuf = Unpooled.wrappedBuffer(data);
        this.vehicleNo = playbackMsg.getVehicleNo();
@@ -75,6 +76,9 @@
        this.serverIP = Jtt809Util.readGBKString(byteBuf, 32);
        this.serverPort = byteBuf.readShort();
        this.result = byteBuf.readByte();
        }catch (Exception e){
            e.printStackTrace();
        }
        return this;
    }
}
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPRealvideoMsgEndAck.java
@@ -50,6 +50,7 @@
     * 解析报文
     */
    public UPRealvideoMsgEndAck decode(RealVideoMsg realVideoMsg) {
        try {
        byte[] data = realVideoMsg.getData();
        ByteBuf byteBuf = Unpooled.wrappedBuffer(data);
        this.vehicleNo = realVideoMsg.getVehicleNo();
@@ -59,6 +60,9 @@
        
        //报警处理结果
        this.result = byteBuf.readByte();
        }catch (Exception e){
            e.printStackTrace();
        }
        return this;
    }
}
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPRealvideoMsgStartupAck.java
@@ -64,6 +64,7 @@
     * 解析报文
     */
    public UPRealvideoMsgStartupAck decode(RealVideoMsg realVideoMsg) {
        try {
        byte[] data = realVideoMsg.getData();
        ByteBuf byteBuf = Unpooled.wrappedBuffer(data);
        this.vehicleNo = realVideoMsg.getVehicleNo();
@@ -75,6 +76,9 @@
        this.result = byteBuf.readByte();
        this.serverIP = Jtt809Util.readGBKString(byteBuf, 32);
        this.serverPort = byteBuf.readShort();
        }catch (Exception e){
            e.printStackTrace();
        }
        return this;
    }
}
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPWarnMsgAdptInfo.java
@@ -117,6 +117,7 @@
     * 解析报文
     */
    public UPWarnMsgAdptInfo decode(WarnMsg warnMsg) {
        try {
        byte[] data = warnMsg.getData();
        ByteBuf byteBuf = Unpooled.wrappedBuffer(data);
        this.vehicleNo = warnMsg.getVehicleNo();
@@ -139,6 +140,9 @@
        this.infoLength = byteBuf.readInt();
        //上报报警信息内容
        this.infoContent = Jtt809Util.readGBKString(byteBuf, this.infoLength);
        }catch (Exception e){
            e.printStackTrace();
        }
        return this;
    }
}
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPWarnMsgUrgeTodoAck.java
@@ -57,6 +57,7 @@
     * 解析报文
     */
    public UPWarnMsgUrgeTodoAck decode(WarnMsg warnMsg) {
        try {
        byte[] data = warnMsg.getData();
        ByteBuf byteBuf = Unpooled.wrappedBuffer(data);
        this.vehicleNo = warnMsg.getVehicleNo();
@@ -68,6 +69,9 @@
        this.supervisionId = byteBuf.readInt();
        //报警处理结果
        this.result = byteBuf.readByte();
        }catch (Exception e){
            e.printStackTrace();
        }
        return this;
    }
}
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/UPLinkTestReqService.java
@@ -37,6 +37,7 @@
            return;
        }
        int gnsscenterId = out.getGnsscenterId();
        //保存链路
        ChannelMap.addServerChannel(gnsscenterId, ctx.channel());
        OuterPacket rep = new OuterPacket(DataType.UP_LINKTEST_RSP.getCode(), gnsscenterId, null);
        rep.setGnsscenterId(gnsscenterId);