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 |   22 ++++++++++++++--------
 1 files changed, 14 insertions(+), 8 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 32536ae..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
@@ -56,6 +56,11 @@
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.net.URLDecoder;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
@@ -293,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);
@@ -559,7 +564,7 @@
                 .select(WorkOrder::getSerialNumber, WorkOrder::getWorkOrderNo)
                 .eq(WorkOrder::getStatus, WorkOrderStatusEnum.WAIT_DISTRIBUTE)
                 .eq(Objects.nonNull(data.getUnitId()), WorkOrder::getUnitId, data.getUnitId())
-                .eq(WorkOrder::getErrorType, data.getErrorType())
+                .in(WorkOrder::getErrorType, data.getErrorType())
                 .between(WorkOrder::getCreateTime, data.getStart(), data.getEnd())
                 .orderByDesc(WorkOrder::getCreateTime)
                 .last("limit " + data.getFastNumLimit())
@@ -621,6 +626,7 @@
             ywPointService.updateRecovery(serialNumberList, 1);
             return Result.ok("鎴愬姛涓嬪彂" + query.getWorkOrderNOList().size() + "鏉″伐鍗�");
         } catch (Exception e) {
+            System.out.println(e.getMessage());
             return Result.error("鎿嶄綔澶辫触");
         } finally {
             distributeUnLock();
@@ -752,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);
@@ -764,7 +770,9 @@
                 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();
@@ -794,13 +802,11 @@
                         } catch (FrameGrabber.Exception e) {
                             e.printStackTrace();
                         }
-                        // 閫氬父涓嶉渶瑕佽皟鐢╮elease()锛屽洜涓簊top()浼氬鐞嗚祫婧愰噴鏀�
-                        // grabber.release(); // 閲婃斁璧勬簮
                     }
                 }
             }
         } else {
-            System.out.println("璇锋眰澶辫触锛岄敊璇爜锛�" + wvpResult.getCode());
+            System.out.println("璇锋眰澶辫触锛岄敊璇爜锛�" + wvpResult.getCode() + "--" + wvpResult.getMsg());
         }
         System.out.println("鍥剧墖URL锛�" + imgUrl);
         return imgUrl;

--
Gitblit v1.8.0