From d1c8038c4de521428e52d838efb106e46f41a997 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期一, 12 十二月 2022 17:40:12 +0800 Subject: [PATCH] 视频算法接口修改 --- ycl-platform/src/main/java/com/ycl/dto/video/AlarmParam.java | 2 ycl-platform/src/main/java/com/ycl/service/video/impl/VideoAlarmReportServiceImpl.java | 68 ++++++++++++++++++---------------- 2 files changed, 37 insertions(+), 33 deletions(-) diff --git a/ycl-platform/src/main/java/com/ycl/dto/video/AlarmParam.java b/ycl-platform/src/main/java/com/ycl/dto/video/AlarmParam.java index 285624f..5f0ba80 100644 --- a/ycl-platform/src/main/java/com/ycl/dto/video/AlarmParam.java +++ b/ycl-platform/src/main/java/com/ycl/dto/video/AlarmParam.java @@ -28,5 +28,5 @@ * 鎶ヨ淇℃伅锛堥�氬父琛屼负绫荤畻娉曟姤璀︿竴娆″彧浼氬寘鍚竴涓姤璀︿俊鎭�傜函鍗曞抚鍥剧墖妫�娴嬬被鍒嗘瀽鏈嶅姟鏈夊彲鑳戒細鍑虹幇鍚屼竴寮犲浘锛屽搴斿涓笉鍚岀畻娉曠殑妫�娴嬬粨鏋滅殑鎯呭喌锛屼粠鑰屼笂鎶ュ涓姤璀︿俊鎭級 */ @JsonProperty("AlarmData") - private List<AlarmDataParam> alarmData; + private AlarmDataParam alarmData; } 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 4cac604..25df2b8 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 @@ -1,5 +1,6 @@ package com.ycl.service.video.impl; +import com.alibaba.druid.util.StringUtils; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.dto.video.AlarmDataParam; @@ -49,46 +50,49 @@ @Override public void save(AlarmParam alarmParam) { - if (alarmParam != null && alarmParam.getAlarmData().size() > 0) { + if (alarmParam != null && alarmParam.getAlarmData() != null) { CameraInfParam cameraInf = alarmParam.getCameraInf(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); String picData = ""; - String[] strings = alarmParam.getPicData().split(","); - String extension = "jpg"; + if (!StringUtils.isEmpty(alarmParam.getPicData())) { + String[] strings = alarmParam.getPicData().split(","); + String extension = "jpg"; - byte[] data = DatatypeConverter.parseBase64Binary(strings[1]); - InputStream inputStream = new ByteArrayInputStream(data); - try { - picData = mediaFileUtil.savePicture(inputStream, extension); - List<VideoAlarmReport> videoAlarmReports = new ArrayList<>(); - for (int i = 0; i < alarmParam.getAlarmData().size(); i++) { - AlarmDataParam alarmData = alarmParam.getAlarmData().get(i); - /******************** 澶勭悊鍥剧墖 **********************/ - 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()) - .channel(cameraInf.getChannel()).platResourceId(cameraInf.getPlatResourceID()) - .picData(picData).alarmTime(instant.atZone(zoneId).toLocalDateTime()) - .alarmId(alarmData.getAlarmID()).algoType(alarmData.getAlgoType()) - .algoName(alarmData.getAlgoName()).alarmObj(JSON.toJSONString(alarmData.getAlarmObject())) - .build(); - videoAlarmReports.add(videoAlarmReport); - - } catch (ParseException e) { - e.printStackTrace(); - } + byte[] data = DatatypeConverter.parseBase64Binary(strings[1]); + InputStream inputStream = new ByteArrayInputStream(data); + try { + picData = mediaFileUtil.savePicture(inputStream, extension); + } catch (Exception e) { + e.printStackTrace(); } - this.saveBatch(videoAlarmReports, videoAlarmReports.size()); + } + List<VideoAlarmReport> videoAlarmReports = new ArrayList<>(); +// for (int i = 0; i < alarmParam.getAlarmData().size(); i++) { + AlarmDataParam alarmData = alarmParam.getAlarmData(); + /******************** 澶勭悊鍥剧墖 **********************/ + try { + Date date = sdf.parse(alarmData.getAlarmTime()); + Instant instant = date.toInstant(); + ZoneId zoneId = ZoneId.systemDefault(); - violationsService.saveFromVideo(videoAlarmReports); - } catch (Exception e) { + 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(alarmData.getAlarmID()).algoType(alarmData.getAlgoType()) + .algoName(alarmData.getAlgoName()).alarmObj(JSON.toJSONString(alarmData.getAlarmObject())) + .build(); + videoAlarmReports.add(videoAlarmReport); + + } catch (ParseException e) { e.printStackTrace(); } +// } + this.saveBatch(videoAlarmReports, videoAlarmReports.size()); + + violationsService.saveFromVideo(videoAlarmReports); + } } } -- Gitblit v1.8.0