From 650b127a6a671a87034db5e027379e740aa56364 Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期四, 14 三月 2024 08:54:33 +0800 Subject: [PATCH] 优化 --- ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java | 47 ++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 44 insertions(+), 3 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java index 9d5fe47..05ebddc 100644 --- a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java +++ b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java @@ -1,9 +1,11 @@ package com.ruoyi.alarm.global.service.impl; +import com.alibaba.fastjson.JSON; import com.ruoyi.alarm.access.domain.ArdAlarmAccess; import com.ruoyi.alarm.access.service.IArdAlarmAccessService; import com.ruoyi.alarm.external.domain.ArdAlarmExternal; import com.ruoyi.alarm.external.service.IArdAlarmExternalService; +import com.ruoyi.alarm.global.domain.GuidePoint; import com.ruoyi.alarm.global.domain.GuidePriorityQueue; import com.ruoyi.alarm.global.domain.GuideTask; import com.ruoyi.alarm.radar.domain.ArdAlarmRadarFire; @@ -23,6 +25,7 @@ import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.camera.service.ICameraSdkService; +import com.ruoyi.utils.websocket.util.WebSocketUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; @@ -33,6 +36,8 @@ import java.util.HashMap; import java.util.Map; import java.util.concurrent.*; + +import static com.ruoyi.utils.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS; /** * @Description: 闃熷垪澶勭悊鍣� @@ -87,6 +92,7 @@ } } } + //寮傛澶勭悊浠诲姟 public void processTask(GuideTask guideTask) { try { @@ -99,15 +105,50 @@ cmd.setChanNo(guideTask.getChanNo()); cmd.setOperator(guideTask.getAlarmType()); cmd.setExpired(30); + Map<String, Double> ptzMap=new HashMap<>(); + if(guideTask.getTargetPTZ()!=null) { + if (guideTask.getChanNo() == 1) { + ptzMap.put("p", guideTask.getTargetPTZ().getP1()); + ptzMap.put("t", guideTask.getTargetPTZ().getT1()); + ptzMap.put("z", guideTask.getTargetPTZ().getZ1()); + } + if (guideTask.getChanNo() == 2) { + ptzMap.put("p", guideTask.getTargetPTZ().getP2()); + ptzMap.put("t", guideTask.getTargetPTZ().getT2()); + ptzMap.put("z", guideTask.getTargetPTZ().getZ2()); + } + cmd.setPtzMap(ptzMap); + } cmd.setRecordBucketName("record"); - cmd.setTargetPosition(guideTask.getTargetPosition()); - cmd.setRecordObjectName("alarmGuide/"+ DateUtils.getDateYYYYMMDD()+"/"+guideTask.getAlarmType()+"/"+guideTask.getAlarmId()); + GuidePoint targetPosition = guideTask.getTargetPosition(); + cmd.setTargetPosition(new double[]{targetPosition.getLongitude(),targetPosition.getLatitude()}); + cmd.setRecordObjectName("alarmGuide/" + DateUtils.getDateYYYYMMDD() + "/" + guideTask.getAlarmType() + "/" + guideTask.getAlarmId()); ICameraSdkService cameraSdkService = SpringUtils.getBean(ICameraSdkService.class); log.debug("寮�濮嬪紩瀵�"); boolean recordFlag = false; - boolean guideRes = cameraSdkService.guideTargetPosition(cmd); + boolean guideRes = false; + if (guideTask.getIsGuidePTZ()) { + AjaxResult result = cameraSdkService.setPtz(cmd); + if (result.get("code").equals(200)) { + guideRes = true; + } + } else { + AjaxResult result = cameraSdkService.guideTargetPosition(cmd); + guideRes = result.get("code").equals(200); + } if (guideRes) { log.debug("寮曞鎴愬姛"); + //region 閫氱煡鍓嶇 + Map<String, Object> message = new HashMap<>(); + Map<String, String> data = new HashMap<>(); + data.put("cameraId", cmd.getCameraId()); + data.put("chanNo", cmd.getChanNo().toString()); + data.put("alarmType", cmd.getOperator()); + data.put("alarmId", guideTask.getAlarmId()); + data.put("wellId", guideTask.getWellId()); + message.put("70000", data); + WebSocketUtils.sendMessageAll(message); + //endregion cameraSdkService.controlLock(cmd);//涓婇攣 cameraSdkService.recordStart(cmd);//寮�濮嬪綍鍍� recordFlag = true; -- Gitblit v1.9.3