From b5df1cee65f3e9dcf554efcd3f1642a8c79d1e76 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期一, 30 九月 2024 02:12:24 +0800
Subject: [PATCH] 点位监测更换对象+存入mongo+提取utils

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java |   17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index b9edc3a..c8b9498 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -298,14 +298,14 @@
     @Override
     public Result add(WorkOrderForm form) {
         //鏌edis浠婃棩宸ュ崟鏁伴噺
-        int workOrderNum = 1;
+        int workOrderNum = 0;
         //UUID浣滀负value锛屼繚璇佷笂閿佺殑绾跨▼鑷繁瑙i攣
         String requestId = IdUtils.fastSimpleUUID();
         boolean result = redisCache.acquireLock(RedisConstant.WORKORDER_NUM_LOCK, requestId, 10000);
         if (result) {
             //鏌ヤ粖鏃ュ伐鍗曢噺
             Object redisNum = redisCache.getCacheObject(RedisConstant.WORKORDER_NUM);
-            workOrderNum = redisNum == null ? 1 : (Integer) redisNum;
+            workOrderNum = redisNum == null ? 0 : (Integer) redisNum;
             workOrderNum++;
             redisCache.setCacheObject(RedisConstant.WORKORDER_NUM, workOrderNum);
             redisCache.releaseLock(RedisConstant.WORKORDER_NUM_LOCK, requestId);
@@ -758,7 +758,7 @@
 
 
     @Override
-    public String getFrameImgByDevice(String deviceId, String channelId, String workOrderNo) {
+    public synchronized String getFrameImgByDevice(String deviceId, String channelId, String workOrderNo) {
         String url = String.format(this.rtspServer + "/api/play/start/%s/%s", deviceId, channelId);
         String result = HttpUtils.sendGet(url);
         WVPResult wvpResult = JSON.parseObject(result, WVPResult.class);
@@ -770,7 +770,11 @@
                 System.out.println("鐩爣鍦板潃锛�" + rtspUrl);
                 FFmpegFrameGrabber grabber = null;
                 try {
-                    grabber = FFmpegFrameGrabber.createDefault(rtspUrl);
+                    grabber = new FFmpegFrameGrabber(rtspUrl);
+//                    grabber.setOption("rtsp_transport", "tcp"); // 浣跨敤tcp鐨勬柟寮忥紝涓嶇劧浼氫涪鍖呭緢涓ラ噸
+//                    grabber.setVideoOption("probesize", "10000"); // 璁剧疆鎹曡幏鍒嗘瀽鐨勬渶澶у瓧鑺�
+                    //璁剧疆10s瓒呮椂
+                    grabber.setTimeout(10000);
                     grabber.start();
                     Frame frame = grabber.grabImage(); // 鐩存帴鎹曡幏涓�甯�
                     if (frame != null) {
@@ -789,13 +793,12 @@
                     } else {
                         System.out.println("鏈崟鑾峰埌甯�");
                     }
-                } catch (Exception e) {
+                } catch (FrameGrabber.Exception e) {
                     e.printStackTrace();
                 } finally {
                     if (grabber != null) {
                         try {
                             grabber.stop(); // 鍋滄鎹曡幏
-                            grabber.release();
                         } catch (FrameGrabber.Exception e) {
                             e.printStackTrace();
                         }
@@ -803,7 +806,7 @@
                 }
             }
         } else {
-            System.out.println("璇锋眰澶辫触锛岄敊璇爜锛�" + wvpResult.getCode());
+            System.out.println("璇锋眰澶辫触锛岄敊璇爜锛�" + wvpResult.getCode() + "--" + wvpResult.getMsg());
         }
         System.out.println("鍥剧墖URL锛�" + imgUrl);
         return imgUrl;

--
Gitblit v1.8.0