From 0fe078a6f1c598f77316dc7c002fe069a27c54e9 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期一, 25 三月 2024 21:43:31 +0800
Subject: [PATCH] bug修改

---
 ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java |   50 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 46 insertions(+), 4 deletions(-)

diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java
index b97fd39..9f4c791 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.BeanUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.hikvision.artemis.sdk.util.HttpUtils;
 import com.ycl.common.util.UtilNumber;
 import com.ycl.dto.video.HKAlarmParam;
 import com.ycl.entity.caseHandler.BaseCase;
@@ -21,15 +22,23 @@
 import com.ycl.service.caseHandler.IBaseCaseService;
 import com.ycl.service.caseHandler.IViolationsService;
 import com.ycl.service.dict.IDataDictionaryService;
+import com.ycl.service.oss.OssService;
 import com.ycl.service.region.ISccgRegionService;
 import com.ycl.service.resources.IImageResourcesService;
 import com.ycl.service.video.IVideoAlarmReportService;
 import com.ycl.service.video.impl.IVideoPointService;
 import com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO;
+import net.coobird.thumbnailator.Thumbnails;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
 import java.time.Instant;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
@@ -54,6 +63,8 @@
     private IImageResourcesService imageResourcesService;
     private ISccgRegionService regionService;
     private IVideoAlarmReportService videoAlarmReportService;
+    @Autowired
+    private OssService ossService;
     @Resource
     BaseCaseMapper baseCaseMapper;
 
@@ -128,7 +139,7 @@
                     imageResources.setCreateTime(LocalDateTime.now());
 
                     ImageResources imageResources1 = new ImageResources();
-                    BeanUtil.copyProperties(imageResources,imageResources1);
+                    BeanUtil.copyProperties(imageResources, imageResources1);
                     imageResources1.setType("01");
 
                     imageResourcesService.save(imageResources1);
@@ -180,8 +191,10 @@
 
         VideoAlarmReport videoAlarmReport = new VideoAlarmReport();
         videoAlarmReport.setPlatResourceId(alarmParam.getEventNumber());
+        String img0 = "";
         if (imgs.length > 0) {
-            videoAlarmReport.setPicData(imgs[0]);
+            img0 = saveOSS(imgs[0]);
+            videoAlarmReport.setPicData(img0);
         }
         videoAlarmReport.setAlarmTime(alarmTime);
         videoAlarmReport.setAlarmId(alarmParam.getEventId());
@@ -197,11 +210,11 @@
                 ImageResources imageResources = new ImageResources();
                 imageResources.setType("04");
                 imageResources.setBelongToId(baseCase.getId());
-                imageResources.setUrl(imgs[i]);
+                imageResources.setUrl(i == 0 ? img0 : saveOSS(imgs[i]));
                 imageResources.setCreateTime(LocalDateTime.now());
 
                 ImageResources imageResources1 = new ImageResources();
-                BeanUtil.copyProperties(imageResources,imageResources1);
+                BeanUtil.copyProperties(imageResources, imageResources1);
                 imageResources1.setType("01");
 
                 imageResourcesService.save(imageResources1);
@@ -213,6 +226,35 @@
 
     }
 
+    private String saveOSS(String hkUrl) {
+        InputStream inputStream = getImageStream(hkUrl);
+        if (inputStream != null) {
+            String picData = ossService.uploadImages(inputStream, ".png");
+            return picData;
+        } else return "";
+    }
+
+    private InputStream getImageStream(String url) {
+        try {
+            HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
+            connection.setReadTimeout(5000);
+            connection.setConnectTimeout(5000);
+            connection.setRequestMethod("GET");
+            if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
+                InputStream inputStream = connection.getInputStream();
+                ByteArrayOutputStream outs = new ByteArrayOutputStream();
+                Thumbnails.of(inputStream).scale(0.6).outputQuality(1).toOutputStream(outs);
+                InputStream ins = new ByteArrayInputStream(outs.toByteArray());
+                return ins;
+            }
+        } catch (IOException e) {
+            System.out.println("鑾峰彇缃戠粶鍥剧墖鍑虹幇寮傚父锛屽浘鐗囪矾寰勪负锛�" + url);
+
+            e.printStackTrace();
+        }
+        return null;
+    }
+
     @Override
     public List<VideoAndAreaVO> selectType() {
         return baseCaseMapper.selectType();

--
Gitblit v1.8.0