From b2001a7042d511cea1c1b2000edca57253d992ad Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期六, 20 十二月 2025 16:21:51 +0800
Subject: [PATCH] 时间控制修改
---
ycl-platform/src/main/java/com/ycl/service/video/impl/VideoAlarmReportServiceImpl.java | 121 +++++++++++++++++++++++----------------
1 files changed, 71 insertions(+), 50 deletions(-)
diff --git a/ycl-platform/src/main/java/com/ycl/service/video/impl/VideoAlarmReportServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/video/impl/VideoAlarmReportServiceImpl.java
index e7f2d55..994bcc8 100644
--- a/ycl-platform/src/main/java/com/ycl/service/video/impl/VideoAlarmReportServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/video/impl/VideoAlarmReportServiceImpl.java
@@ -26,6 +26,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Instant;
+import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.Date;
@@ -147,76 +148,96 @@
InputStream inputStream = new ByteArrayInputStream(data);
try {
// 濡傛灉List<AlarmDataParam>鍚堢悊
- if (alarmParam.getAlarmData()!=null && alarmParam.getAlarmData().size()!=0) {
+ if (alarmParam.getAlarmData() != null && alarmParam.getAlarmData().size() != 0) {
- BufferedImage image = ImageIO.read(inputStream);
- Graphics2D g2 = (Graphics2D) image.getGraphics();
- g2.setColor(Color.RED);
- g2.setStroke(new BasicStroke(3.0f));
+ BufferedImage image = ImageIO.read(inputStream);
+ Graphics2D g2 = (Graphics2D) image.getGraphics();
+ g2.setColor(Color.RED);
+ g2.setStroke(new BasicStroke(3.0f));
- List<AlarmDataParam> alarmData = alarmParam.getAlarmData();
+ List<AlarmDataParam> alarmData = alarmParam.getAlarmData();
- alarmData.forEach(new Consumer<AlarmDataParam>() {
- @Override
- public void accept(AlarmDataParam alarmDataParam) {
- List<AlarmObject> alarmObject = alarmDataParam.getAlarmObject();
- alarmObject.forEach(new Consumer<AlarmObject>() {
- @Override
- public void accept(AlarmObject alarmObject) {
- ObjectRect rect = alarmObject.getObjectRect();
- g2.drawRect(rect.getX(), rect.getY(), rect.getW(), rect.getH());
- }
- });
- }
- });
+ alarmData.forEach(new Consumer<AlarmDataParam>() {
+ @Override
+ public void accept(AlarmDataParam alarmDataParam) {
+ List<AlarmObject> alarmObject = alarmDataParam.getAlarmObject();
+ alarmObject.forEach(new Consumer<AlarmObject>() {
+ @Override
+ public void accept(AlarmObject alarmObject) {
+ ObjectRect rect = alarmObject.getObjectRect();
+ g2.drawRect(rect.getX(), rect.getY(), rect.getW(), rect.getH());
+ }
+ });
+ }
+ });
- ByteArrayOutputStream os = new ByteArrayOutputStream();
- ImageIO.write(image, extension, os);
- inputStream = new ByteArrayInputStream(os.toByteArray());
+ ByteArrayOutputStream os = new ByteArrayOutputStream();
+ ImageIO.write(image, extension, os);
+ inputStream = new ByteArrayInputStream(os.toByteArray());
}
- picData = ossService.uploadImages(inputStream, extension);
+ picData = ossService.uploadImages(inputStream, extension, 0);
} catch (Exception e) {
- e.printStackTrace();
+ System.out.println("淇濆瓨鎶ヨ鏁版嵁澶辫触---鍥剧墖涓婁紶澶辫触锛�" + e.getMessage());
+// e.printStackTrace();
}
}
- List<VideoAlarmReport> videoAlarmReports = new ArrayList<>();
+ if (!StringUtils.isEmpty(picData)) {
+ List<VideoAlarmReport> videoAlarmReports = new ArrayList<>();
- List<AlarmDataParam> alarmData = alarmParam.getAlarmData();
- for (AlarmDataParam alarmDatum : alarmData) {
- List<VideoAlarmReport> list = getByAlarmId(alarmDatum.getAlarmID());
- try {
- Date date = sdf.parse(alarmDatum.getAlarmTime());
- Instant instant = date.toInstant();
- ZoneId zoneId = ZoneId.systemDefault();
- VideoAlarmReport videoAlarmReport = VideoAlarmReport.builder()
- .ip(cameraInf.getIp()).port(cameraInf.getPort())
- .user(cameraInf.getUser()).password(cameraInf.getPassword())
- .channel(cameraInf.getChannel()).platResourceId(cameraInf.getPlatResourceID())
- .picData(picData).alarmTime(instant.atZone(zoneId).toLocalDateTime())
- .alarmId(alarmDatum.getAlarmID()).algoType(alarmDatum.getAlgoType())
- .alarmType(alarmDatum.getAlarmType()).alarmName(alarmDatum.getAlarmName())
- .algoName(alarmDatum.getAlgoName()).alarmObj(JSON.toJSONString(alarmDatum.getAlarmObject()))
- .build();
- if (list.size() == 0) {
+ List<AlarmDataParam> alarmData = alarmParam.getAlarmData();
+ for (AlarmDataParam alarmDatum : alarmData) {
+ List<VideoAlarmReport> list = getByAlarmId(alarmDatum.getAlarmID());
+ try {
+ Date date = sdf.parse(alarmDatum.getAlarmTime());
+ Instant instant = date.toInstant();
+ ZoneId zoneId = ZoneId.systemDefault();
+ VideoAlarmReport videoAlarmReport = VideoAlarmReport.builder()
+ .ip(cameraInf.getIp()).port(cameraInf.getPort())
+ .user(cameraInf.getUser()).password(cameraInf.getPassword())
+ .channel(cameraInf.getChannel()).platResourceId(cameraInf.getPlatResourceID())
+ .picData(picData).alarmTime(instant.atZone(zoneId).toLocalDateTime())
+ .alarmId(alarmDatum.getAlarmID()).algoType(alarmDatum.getAlgoType())
+ .alarmType(alarmDatum.getAlarmType()).alarmName(alarmDatum.getAlarmName())
+ .algoName(alarmDatum.getAlgoName()).alarmObj(JSON.toJSONString(alarmDatum.getAlarmObject()))
+ .build();
+ if (list.size() == 0) {
- videoAlarmReports.add(videoAlarmReport);
+ videoAlarmReports.add(videoAlarmReport);
- this.saveBatch(videoAlarmReports, videoAlarmReports.size());
+ this.saveBatch(videoAlarmReports, videoAlarmReports.size());
- violationsService.saveFromVideo(videoAlarmReports);
+ violationsService.saveFromVideo(videoAlarmReports);
- } else {
- videoAlarmReport.setId(list.get(0).getId());
- this.updateById(videoAlarmReport);
+ } else {
+ videoAlarmReport.setId(list.get(0).getId());
+ this.updateById(videoAlarmReport);
+ }
+ } catch (ParseException e) {
+ System.out.println("淇濆瓨鎶ヨ鏁版嵁澶辫触锛�" + e.getMessage());
+// e.printStackTrace();
}
- } catch (ParseException e) {
- e.printStackTrace();
}
}
}
}
+ @Override
+ public void saveFromHK(HKAlarmParam alarmParam) {
+ if (alarmParam != null) {
+ violationsService.saveFromHKVideo(alarmParam);
+ }
+ }
+
+ @Override
+ public List<VideoAlarmReport> findByChannelAndAlarmNameAndTime(String channel, String alarmName, LocalDateTime alarmTime) {
+
+ LambdaQueryWrapper<VideoAlarmReport> queryWrapper = new LambdaQueryWrapper<VideoAlarmReport>()
+ .eq(VideoAlarmReport::getChannel, channel).eq(VideoAlarmReport::getAlarmName, alarmName)
+ .between(VideoAlarmReport::getAlarmTime, alarmTime.plusMinutes(-3), alarmTime.plusMinutes(3));
+ return this.list(queryWrapper);
+ }
+
private List<VideoAlarmReport> getByAlarmId(String alarmId) {
LambdaQueryWrapper<VideoAlarmReport> queryWrapper = new LambdaQueryWrapper<VideoAlarmReport>().eq(VideoAlarmReport::getAlarmId, alarmId);
return this.list(queryWrapper);
--
Gitblit v1.8.0