From 1a98bde043bd743a37f23d790d72ae7f799bffb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?LAPTOP-S9HJSOEB=5C=E6=98=8A=E5=A4=A9?= Date: Fri, 15 Dec 2023 14:16:48 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E5=AF=B9=E5=A4=96=E5=BC=80?= =?UTF-8?q?=E6=94=BE=E7=9A=84ip=E7=AB=AF=E5=8F=A3=E9=85=8D=E7=BD=AE=202.?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BD=95=E5=83=8F=E6=9C=8D=E5=8A=A1=E5=92=8C?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=BD=95=E5=83=8F=203.=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E9=A2=84=E6=94=AF=E7=82=B9=E4=BD=8D=E7=9A=84=E6=97=B6=E5=80=99?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BF=AE=E6=94=B9=E7=BC=96=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/leaper/web/config/ConfigProperties.java | 7 +++++++ .../web/controller/CameraControlController.java | 10 +++++----- .../java/com/leaper/web/entity/CameraList.java | 11 +++++++++++ .../java/com/leaper/web/entity/DeviceReq.java | 11 ++++------- .../com/leaper/web/service/CameraService.java | 8 +++++++- .../java/com/leaper/web/service/PlcService.java | 4 ++-- web/src/main/resources/application-prod.yml | 17 +++++++++++++++-- 7 files changed, 51 insertions(+), 17 deletions(-) create mode 100644 web/src/main/java/com/leaper/web/entity/CameraList.java diff --git a/web/src/main/java/com/leaper/web/config/ConfigProperties.java b/web/src/main/java/com/leaper/web/config/ConfigProperties.java index b081f19..82b5f44 100644 --- a/web/src/main/java/com/leaper/web/config/ConfigProperties.java +++ b/web/src/main/java/com/leaper/web/config/ConfigProperties.java @@ -36,6 +36,7 @@ public class ConfigProperties { private LightSource lightSource; private ScanCodeMode scanCodeMode; + private ServerOpenInfo serverOpenInfo; @Data @@ -67,6 +68,12 @@ public class ConfigProperties { private Long delayDownloadMp4; } + @Data + public static class ServerOpenInfo{ + private String domain; + private String camera; + private String work; + } @Data public static class VideoStyleConfig{ diff --git a/web/src/main/java/com/leaper/web/controller/CameraControlController.java b/web/src/main/java/com/leaper/web/controller/CameraControlController.java index 928a43c..d725dfd 100644 --- a/web/src/main/java/com/leaper/web/controller/CameraControlController.java +++ b/web/src/main/java/com/leaper/web/controller/CameraControlController.java @@ -339,8 +339,8 @@ public class CameraControlController { ConfigProperties.SavePath savePath = configProperties.getSavePath(); String path = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))+".jpeg"; String filePath = "D:\\work\\"+path; - TaskDelayExecutor.addPicDelayTask(id,filePath,2000L,savePath); - return Result.success(configProperties.getCameraConfig().getWorkUrl()+path); + TaskDelayExecutor.addPicDelayTask(id,filePath,0L,savePath); + return Result.success(configProperties.getServerOpenInfo().getDomain()+configProperties.getServerOpenInfo().getWork()+path); } @Resource @@ -373,12 +373,12 @@ public class CameraControlController { @ApiOperation(value = "录像") public Result record(@RequestBody CameraRecord cameraRecord) { checkLogin(cameraRecord.getCameraId()); - String url ="work\\"+cameraRecord.getStartTime().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))+".mp4"; + String url ="work/"+cameraRecord.getStartTime().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))+".mp4"; cameraRecord.setPath(url); cameraRecordMapper.insert(cameraRecord); ConfigProperties.SavePath savePath = configProperties.getSavePath(); cameraControlModule.downloadMp4(cameraRecord.getCameraId(),"D:\\"+url, cameraRecord.getStartTime(),cameraRecord.getEndTime(),savePath); - return Result.success("api/"+url); + return Result.success(configProperties.getServerOpenInfo().getDomain()+url); } @PostMapping("/mp4/recordList") @@ -392,7 +392,7 @@ public class CameraControlController { ); cameraRecordList = cameraRecordList.stream() .peek(k ->{ - k.setPath("api/"+k.getPath()); + k.setPath(configProperties.getServerOpenInfo().getDomain()+k.getPath()); }).collect(Collectors.toList()); return Result.success(cameraRecordList); } diff --git a/web/src/main/java/com/leaper/web/entity/CameraList.java b/web/src/main/java/com/leaper/web/entity/CameraList.java new file mode 100644 index 0000000..8fbf2c9 --- /dev/null +++ b/web/src/main/java/com/leaper/web/entity/CameraList.java @@ -0,0 +1,11 @@ +package com.leaper.web.entity; + +import lombok.Data; + +@Data +public class CameraList { + String cameraCode; + String cameraName; + Long cameraId; + String warnCode; +} \ No newline at end of file diff --git a/web/src/main/java/com/leaper/web/entity/DeviceReq.java b/web/src/main/java/com/leaper/web/entity/DeviceReq.java index 2822baa..d7f061e 100644 --- a/web/src/main/java/com/leaper/web/entity/DeviceReq.java +++ b/web/src/main/java/com/leaper/web/entity/DeviceReq.java @@ -1,5 +1,6 @@ package com.leaper.web.entity; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import lombok.Data; import java.time.LocalDateTime; @@ -9,17 +10,12 @@ import java.util.List; public class DeviceReq { String deviceCode; String warmName; + List cameraList; private String type; - @Data - public static class CameraList { - String cameraCode; - String cameraName; - Long cameraId; - String warnCode; - } + public Warn getWarn() { Warn warn = new Warn(); @@ -39,6 +35,7 @@ public class DeviceReq { warnUrl.setCameraId(cameraList.getCameraId()); warnUrl.setCameraCode(cameraList.getCameraCode()); warnUrl.setType(this.type); + warnUrlList.add(warnUrl); } return warnUrlList; } diff --git a/web/src/main/java/com/leaper/web/service/CameraService.java b/web/src/main/java/com/leaper/web/service/CameraService.java index c284d11..b6f55bd 100644 --- a/web/src/main/java/com/leaper/web/service/CameraService.java +++ b/web/src/main/java/com/leaper/web/service/CameraService.java @@ -75,7 +75,11 @@ public class CameraService { } camera.setRtcServerPort(8083); try { - cameraMapper.insert(camera); + if(camera.getId() == null || cameraMapper.selectCount(new QueryWrapper().eq("id", camera.getId())) == 0) { + cameraMapper.insert(camera); + }else { + int update = cameraMapper.updateById(camera); + } } catch (DuplicateKeyException e) { Assert.isTrue(false, "rtsp地址已存在"); } @@ -305,6 +309,8 @@ public class CameraService { Assert.notNull(cameraIO, "IO不存在"); //将ptzId赋值为旧的,不能用新的 ptzId = cameraIO.getPtzId(); + cameraIO.setName(name); + cameraIO.setCode(code); cameraIO.setUpdateTime(LocalDateTime.now()); conver(cameraIO,type); ioMapper.updateById(cameraIO); diff --git a/web/src/main/java/com/leaper/web/service/PlcService.java b/web/src/main/java/com/leaper/web/service/PlcService.java index 46dc15d..9bcf618 100644 --- a/web/src/main/java/com/leaper/web/service/PlcService.java +++ b/web/src/main/java/com/leaper/web/service/PlcService.java @@ -542,11 +542,11 @@ public class PlcService { String path = PathUtil.createFileNameByRowColumn("jpg",Math.toIntExact(warnUrl.getCameraId()),0,0); cameraCapture(Math.toIntExact(warnUrl.getCameraId()),false,null,path); - log.info("warn拍照 cameraId:{},path:{}",warnUrl.getUrl(),path); + log.info("warn拍照 cameraId:{},cameraCode:{},path:{}",warnUrl.getCameraId(),warnUrl.getCameraCode(),path); warnUrl.setUrl(path); warnUrlMapper.insert(warnUrl); //获取告警视频地址 - result.add(configProperties.getCameraConfig().getCameraUrl()+"/#/camera"+warnUrl.getCameraId()); + result.add(configProperties.getServerOpenInfo().getDomain() + configProperties.getServerOpenInfo().getCamera()+warnUrl.getCameraId()); } return result; } diff --git a/web/src/main/resources/application-prod.yml b/web/src/main/resources/application-prod.yml index 6ac569b..db6b32f 100644 --- a/web/src/main/resources/application-prod.yml +++ b/web/src/main/resources/application-prod.yml @@ -14,7 +14,7 @@ spring: testWhileIdle: false timeBetweenEvictionRunsMillis: 60000 type: com.alibaba.druid.pool.DruidDataSource - url: jdbc:mysql://127.0.0.1:3306/lia_duoji?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8 + url: jdbc:mysql://127.0.0.1:3306/lia_duoji_huawei?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8 username: root validationQuery: SELECT 1 FROM DUAL #-------------- @@ -53,6 +53,14 @@ cameraConfig: # ------------ # -----图片 mp4下载地址 + +#对外开放 +serverOpenInfo: + domain: "127.0.0.1:9007/" + #球机(后跟球机id) + camera: "#/camera/" + #录像拍照,后跟路径 + work: "work/" savePath: #是否云端保存 isCloudSave: false @@ -95,4 +103,9 @@ scanCodeMode: trayCodeTypes: - 14 # 照片 視頻保存多久 -deleteFileDays: 365 \ No newline at end of file +deleteFileDays: 365 + + +mybatis-plus: + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl \ No newline at end of file