From e89d76539cc91bd13acabbf25a12312d2f8bba56 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期二, 16 十二月 2025 21:27:06 +0800
Subject: [PATCH] 超过17点不接受报警
---
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java | 72 ++++++++++++++++++++++++++++++++++-
1 files changed, 69 insertions(+), 3 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 5a16078..27af299 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
@@ -1,7 +1,10 @@
package com.ycl.service.caseHandler.impl;
+import cn.hutool.core.bean.BeanUtil;
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;
@@ -19,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;
@@ -52,6 +63,8 @@
private IImageResourcesService imageResourcesService;
private ISccgRegionService regionService;
private IVideoAlarmReportService videoAlarmReportService;
+ @Autowired
+ private OssService ossService;
@Resource
BaseCaseMapper baseCaseMapper;
@@ -97,6 +110,12 @@
Violations violations = new Violations();
VideoPoint videoPoint = videoPointService.getByCode(videoAlarmReport.getPlatResourceId());
if (videoPoint != null) {
+
+ // 鏃堕棿瓒呰繃17鐐癸紝妗堜欢涓轰笉澶勭悊
+ if (videoAlarmReport.getAlarmTime().getHour() > 17) {
+ baseCase.setState(4);
+ }
+
baseCase.setLatitude(videoPoint.getLatitude());
baseCase.setLongitude(videoPoint.getLongitude());
baseCase.setStreetId(videoPoint.getStreetId());
@@ -124,6 +143,12 @@
imageResources.setBelongToId(baseCase.getId());
imageResources.setUrl(videoAlarmReport.getPicData());
imageResources.setCreateTime(LocalDateTime.now());
+
+ ImageResources imageResources1 = new ImageResources();
+ BeanUtil.copyProperties(imageResources, imageResources1);
+ imageResources1.setType("01");
+
+ imageResourcesService.save(imageResources1);
imageResourcesService.save(imageResources);
} catch (Exception ex) {
System.out.println("娴峰悍鎺ㄩ�佷繚瀛樺紓甯革細" + ex.getMessage());
@@ -146,6 +171,11 @@
.code(utilNumber.createCaseCode()).createTime(LocalDateTime.now()).createUser(0L).state(1).
alarmTime(alarmTime).build();
Violations violations = new Violations();
+
+ // 鏃堕棿瓒呰繃17鐐癸紝妗堜欢涓轰笉澶勭悊
+ if (alarmTime.getHour() > 17) {
+ baseCase.setState(4);
+ }
baseCase.setLatitude(alarmParam.getLatitude());
baseCase.setLongitude(alarmParam.getLongitude());
@@ -172,8 +202,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());
@@ -189,10 +221,15 @@
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());
- imageResourcesService.save(imageResources);
+ ImageResources imageResources1 = new ImageResources();
+ BeanUtil.copyProperties(imageResources, imageResources1);
+ imageResources1.setType("01");
+
+ imageResourcesService.save(imageResources1);
+ imageResourcesService.save(imageResources);
}
} catch (Exception ex) {
@@ -200,6 +237,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