From 2078aee230bc109d66da296da8b7f24377befa1b Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期五, 20 十二月 2024 11:08:44 +0800
Subject: [PATCH] 1
---
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..95df9ac 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",0);
+ 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