From b54c850ce99c6186bfe3559d516349388e7853bf Mon Sep 17 00:00:00 2001 From: yiming Date: Tue, 24 May 2022 09:14:48 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9A=8F=E8=A1=8C=E5=BB=B6=E8=BF=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhehekeji/web/lib/CameraDelayTask.java | 2 ++ .../com/zhehekeji/web/lib/TaskDelayExecutor.java | 8 ++++++++ .../com/zhehekeji/web/service/PlcService.java | 16 ++++++++++++++-- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/web/src/main/java/com/zhehekeji/web/lib/CameraDelayTask.java b/web/src/main/java/com/zhehekeji/web/lib/CameraDelayTask.java index 7ea06df..3552de4 100644 --- a/web/src/main/java/com/zhehekeji/web/lib/CameraDelayTask.java +++ b/web/src/main/java/com/zhehekeji/web/lib/CameraDelayTask.java @@ -28,6 +28,8 @@ public class CameraDelayTask implements Delayed { private long delayTime; + private Integer ptzId; + public CameraDelayTask(Integer cameraId, LocalDateTime startTime, LocalDateTime endTime, String path, Integer type, long delayTime) { this.cameraId = cameraId; this.startTime = startTime; diff --git a/web/src/main/java/com/zhehekeji/web/lib/TaskDelayExecutor.java b/web/src/main/java/com/zhehekeji/web/lib/TaskDelayExecutor.java index 58fa15a..f37e459 100644 --- a/web/src/main/java/com/zhehekeji/web/lib/TaskDelayExecutor.java +++ b/web/src/main/java/com/zhehekeji/web/lib/TaskDelayExecutor.java @@ -23,6 +23,12 @@ public class TaskDelayExecutor { queue.add(cameraDelayTask); } + public static void addGyrateCameraTask(Integer cameraId, Long delayTime,Integer ptzId){ + CameraDelayTask cameraDelayTask = new CameraDelayTask(cameraId, null, null,null, 2,delayTime); + cameraDelayTask.setPtzId(ptzId); + queue.add(cameraDelayTask); + } + public static void runMp4DownloadExecutor(){ exec.execute(new Consumer()); } @@ -42,6 +48,8 @@ public class TaskDelayExecutor { cameraControlModule.downloadMp4(cameraDelayTask.getCameraId(), cameraDelayTask.getPath(), cameraDelayTask.getStartTime(), cameraDelayTask.getEndTime()); }else if(cameraDelayTask.getType() == 1){ cameraControlModule.pic(cameraDelayTask.getCameraId(),0, cameraDelayTask.getPath()); + }else if(cameraDelayTask.getType() == 2){ + cameraControlModule.toPtz(cameraDelayTask.getPtzId(),cameraDelayTask.getCameraId()); } } diff --git a/web/src/main/java/com/zhehekeji/web/service/PlcService.java b/web/src/main/java/com/zhehekeji/web/service/PlcService.java index d96ffb6..29030cc 100644 --- a/web/src/main/java/com/zhehekeji/web/service/PlcService.java +++ b/web/src/main/java/com/zhehekeji/web/service/PlcService.java @@ -246,11 +246,12 @@ public class PlcService { } //转向原点位 if(times == 2){ + if(street.getCamera2Id() != null){ - gyrateCameraByCode(street.getCamera2Id(),"C5"); + gyrateCameraByCodeTimeLater(street.getCamera2Id(),"C5",configProperties.getCameraConfig().getDelayCaptureTime()+100); } if(street.getCamera1Id() != null){ - gyrateCameraByCode(street.getCamera1Id(),"C5"); + gyrateCameraByCodeTimeLater(street.getCamera1Id(),"C5",configProperties.getCameraConfig().getDelayCaptureTime()+100); } } } @@ -324,6 +325,17 @@ public class PlcService { } } + public void gyrateCameraByCodeTimeLater(Integer cameraId, String code,long times) { + Integer ptzId = cameraService.getPtzIdByCodeAndCameraId(code, cameraId); + if (ptzId != null && ptzId >= 0) { + log.info("gyrate camera by code, code:{},cameraId:{},ptId:{}", code, cameraId, ptzId); + TaskDelayExecutor.addGyrateCameraTask(cameraId,times,ptzId); + //cameraControlModule.toPtz(ptzId,cameraId); + } else { + log.error("ptz not found ,code:{},cameraId:{}", code, cameraId); + } + } + /** * 收到告警异常信号