From fd071f321fb967f36cf795fc40b4f2e87e89e69d Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期一, 12 十二月 2022 22:38:24 +0800 Subject: [PATCH] 预警研判 --- ycl-platform/src/main/java/com/ycl/service/video/impl/VideoAlarmReportServiceImpl.java | 32 +++++++++++++++++++++----------- 1 files changed, 21 insertions(+), 11 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 25df2b8..3ccd611 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 @@ -2,6 +2,7 @@ import com.alibaba.druid.util.StringUtils; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.dto.video.AlarmDataParam; import com.ycl.dto.video.AlarmParam; @@ -55,10 +56,10 @@ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); String picData = ""; if (!StringUtils.isEmpty(alarmParam.getPicData())) { - String[] strings = alarmParam.getPicData().split(","); +// String[] strings = alarmParam.getPicData().split(","); String extension = "jpg"; - byte[] data = DatatypeConverter.parseBase64Binary(strings[1]); + byte[] data = DatatypeConverter.parseBase64Binary(alarmParam.getPicData()); InputStream inputStream = new ByteArrayInputStream(data); try { picData = mediaFileUtil.savePicture(inputStream, extension); @@ -67,14 +68,13 @@ } } List<VideoAlarmReport> videoAlarmReports = new ArrayList<>(); -// for (int i = 0; i < alarmParam.getAlarmData().size(); i++) { + AlarmDataParam alarmData = alarmParam.getAlarmData(); - /******************** 澶勭悊鍥剧墖 **********************/ + List<VideoAlarmReport> list = getByAlarmId(alarmData.getAlarmID()); try { Date date = sdf.parse(alarmData.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()) @@ -83,16 +83,26 @@ .alarmId(alarmData.getAlarmID()).algoType(alarmData.getAlgoType()) .algoName(alarmData.getAlgoName()).alarmObj(JSON.toJSONString(alarmData.getAlarmObject())) .build(); - videoAlarmReports.add(videoAlarmReport); + if (list.size() == 0) { + videoAlarmReports.add(videoAlarmReport); + + this.saveBatch(videoAlarmReports, videoAlarmReports.size()); + + violationsService.saveFromVideo(videoAlarmReports); + + } else { + videoAlarmReport.setId(list.get(0).getId()); + this.updateById(videoAlarmReport); + } } catch (ParseException e) { e.printStackTrace(); } -// } - this.saveBatch(videoAlarmReports, videoAlarmReports.size()); - - violationsService.saveFromVideo(videoAlarmReports); - } } + + private List<VideoAlarmReport> getByAlarmId(String alarmId) { + LambdaQueryWrapper<VideoAlarmReport> queryWrapper = new LambdaQueryWrapper<VideoAlarmReport>().eq(VideoAlarmReport::getAlarmId, alarmId); + return this.list(queryWrapper); + } } -- Gitblit v1.8.0