xiangpei
2024-08-29 c8c780b97726264b39ceae192239c4cd46380134
工单取图片多线程
2个文件已修改
6 ■■■■ 已修改文件
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -671,7 +671,7 @@
        String imgUrl = null;
        if (wvpResult.getCode() == 0) {
            JSONObject data = (JSONObject) wvpResult.getData();
            String rtspUrl = data.getString("fmp4"); // 注意:通常RTSP URL不会以"fmp4"结尾,这里可能是特定API的返回格式
            String rtspUrl = data.getString("fmp4"); // 取mp4地址
            if (StringUtils.hasText(rtspUrl)) {
                System.out.println("目标地址:" + rtspUrl);
                FFmpegFrameGrabber grabber = null;
ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java
@@ -60,7 +60,7 @@
            return;
        }
        for (DeviceInfoVO deviceInfo : deviceList) {
//            executorService.submit(() -> {
            executorService.submit(() -> {
                // 国标设备的编码就是取视频流的设备编码,国标设备就一个。国标设备的每一个通道代表一个摄像头,也就是设备id是取流的通道id
                String frameImg = workOrderService.getFrameImgByDevice(gbDevices.get(0).getDeviceId(), deviceInfo.getDeviceId(), deviceInfo.getWorkOrderNo());
                if (StringUtils.hasText(frameImg)) {
@@ -70,7 +70,7 @@
                    img.setCreateTime(new Date());
                    workOrderCheckImgMapper.insert(img);
                }
//            });
            });
        }
    }