From fdcdd41fba7874c045766e3dea54d56d70df73ef Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期一, 12 五月 2025 10:06:50 +0800
Subject: [PATCH] (部级录像可用率,重点录像可用率,录像可用率)计算可用率

---
 ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java |   87 +++++++++++++------------------------------
 1 files changed, 26 insertions(+), 61 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java b/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java
index a4b6194..28ec3f1 100644
--- a/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java
@@ -48,53 +48,15 @@
     private final DeviceInfoMapper deviceInfoMapper;
     private final WorkOrderCheckImgMapper workOrderCheckImgMapper;
 
-//    private static final ExecutorService executorService = new ThreadPoolExecutor(8,
-//            10,
-//            5000,
-//            TimeUnit.SECONDS,
-//            new ArrayBlockingQueue<>(1024),
-//            new ThreadPoolExecutor.CallerRunsPolicy()
-//    );
+    private static final ExecutorService executorService = new ThreadPoolExecutor(16,
+            128,
+            5000,
+            TimeUnit.SECONDS,
+            new ArrayBlockingQueue<>(1000),
+            new ThreadPoolExecutor.CallerRunsPolicy()
+    );
 
     public void run() throws FFmpegFrameGrabber.Exception {
-//        String rtspUrl = "http://www.w3school.com.cn/i/movie.mp4";
-//        if (StringUtils.hasText(rtspUrl)) {
-//            FFmpegFrameGrabber grabber = FFmpegFrameGrabber.createDefault(rtspUrl);
-//            try {
-////                    grabber.setOption("rtsp_transport", "tcp"); // 浣跨敤tcp鐨勬柟寮忥紝涓嶇劧浼氫涪鍖呭緢涓ラ噸
-//                grabber.setImageWidth(1920);
-//                grabber.setImageHeight(1080);
-//                grabber.setFrameRate(25);
-//                grabber.start();
-//                System.out.println("鎴愬姛");
-//                Frame frame = grabber.grabImage();
-//                String imgUrl = null;
-//                if (frame != null) {
-//                    System.out.println("鎴愬姛2");
-//                    //杞崲鍥惧儚
-//                    Java2DFrameConverter converter = new Java2DFrameConverter();
-//                    BufferedImage srcImage = converter.getBufferedImage(frame);
-//                    System.out.println(srcImage);
-//                    if (srcImage != null) {
-//                        imgUrl = IdUtils.fastSimpleUUID() + ".png";
-//                        // 鐢熸垚鍥剧墖璺緞
-//                        String imgPath = "/" + imgUrl;
-//                        System.out.println("鍥剧墖淇濆瓨鍦板潃锛�" + imgPath);
-////                        imgUrl = Constants.RESOURCE_PREFIX + "/" + imgUrl;
-//                        //鍒涘缓鏂囦欢
-//                        File file = new File("D:\\Codes\\zgyw\\"+imgUrl);
-//                        //杈撳嚭鏂囦欢
-//                        ImageIO.write(srcImage, "png", file);
-//                    }
-//                }
-//            } catch (IOException e) {
-//                e.printStackTrace();
-//            } finally {
-//                grabber.stop(); // 鍋滄鎹曡幏
-////                grabber.close(); // 閲婃斁璧勬簮
-//            }
-//        }
-
         // 鏌ュ嚭鏈�杩戜竴鍛ㄧ殑鏁呴殰鐨勮澶�
         Date now = new Date();
         Calendar ca = Calendar.getInstance();
@@ -114,21 +76,24 @@
             return;
         }
         for (DeviceInfoVO deviceInfo : deviceList) {
-            // 鍥芥爣璁惧鐨勭紪鐮佸氨鏄彇瑙嗛娴佺殑璁惧缂栫爜锛屽浗鏍囪澶囧氨涓�涓�傚浗鏍囪澶囩殑姣忎竴涓�氶亾浠h〃涓�涓憚鍍忓ご锛屼篃灏辨槸璁惧id鏄彇娴佺殑閫氶亾id
-            String frameImg = null;
-            try {
-                frameImg = workOrderService.getFrameImgByDevice(gbDevices.get(0).getDeviceId(), deviceInfo.getDeviceId(), deviceInfo.getWorkOrderNo());
-            } catch (Exception e) {
-                e.printStackTrace();
-                continue;
-            }
-            if (StringUtils.hasText(frameImg)) {
-                WorkOrderCheckImg img = new WorkOrderCheckImg();
-                img.setWorkOrderNo(deviceInfo.getWorkOrderNo());
-                img.setImgUrl(frameImg);
-                img.setCreateTime(new Date());
-                workOrderCheckImgMapper.insert(img);
-            }
-        }    }
+            executorService.submit(() -> {
+                // 鍥芥爣璁惧鐨勭紪鐮佸氨鏄彇瑙嗛娴佺殑璁惧缂栫爜锛屽浗鏍囪澶囧氨涓�涓�傚浗鏍囪澶囩殑姣忎竴涓�氶亾浠h〃涓�涓憚鍍忓ご锛屼篃灏辨槸璁惧id鏄彇娴佺殑閫氶亾id
+                String frameImg = null;
+                try {
+                    frameImg = workOrderService.getFrameImgByDevice(gbDevices.get(0).getDeviceId(), deviceInfo.getDeviceId(), deviceInfo.getWorkOrderNo());
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                if (StringUtils.hasText(frameImg)) {
+                    WorkOrderCheckImg img = new WorkOrderCheckImg();
+                    img.setWorkOrderNo(deviceInfo.getWorkOrderNo());
+                    img.setImgUrl(frameImg);
+                    img.setCreateTime(new Date());
+                    workOrderCheckImgMapper.insert(img);
+                }
+            });
+        }
+        log.info("宸ュ崟妫�娴嬪浘鐗囩粨鏉�");
+    }
 
 }

--
Gitblit v1.8.0