From a0d9d5ccd33aa09b4624fdfd2dd3269a9b82ba83 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期三, 13 十二月 2023 16:27:54 +0800
Subject: [PATCH] 增加海康sdk设置高精度ptz信息

---
 ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueTaskExecutor.java |   30 ++++++++++++++++++++++++------
 1 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueTaskExecutor.java b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueTaskExecutor.java
index d67db60..ff9980c 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueTaskExecutor.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueTaskExecutor.java
@@ -20,16 +20,17 @@
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * @ClassName QueueTaskExecutor
- * @Description: 闃熷垪浠诲姟鎵ц鍣�
+ * @Description: 闃熷垪浠诲姟鎵ц鍣�-----寮冪敤
  * @Author 鍒樿嫃涔�
  * @Date 2023/6/29 21:10
  * @Version 1.0
  */
 
-@Component
 @Slf4j(topic = "guideQueue")
 public class QueueTaskExecutor {
     @Resource
@@ -42,11 +43,11 @@
     ICameraSdkService cameraSdkService;
     @Resource
     IArdAlarmTubeService ardAlarmTubeService;
-
     @Resource
     IArdAlarmExternalService ardAlarmExternalService;
     @Resource
     IArdAlarmAccessService ardAlarmAccessService;
+
     public void processTask(GuideTask guideTask) {
         try {
             CameraCmd cmd = new CameraCmd();
@@ -56,9 +57,25 @@
             cmd.setOperator(guideTask.getAlarmType());
             cmd.setExpired(30);
             cmd.setRecordBucketName("record");
-            cmd.setRecordObjectName("alarm_" + guideTask.getAlarmId());
+            Map<String, Double> ptzMap = new HashMap<>();
+            ptzMap.put("p", guideTask.getGuidePTZ().getP());
+            ptzMap.put("t", guideTask.getGuidePTZ().getT());
+            ptzMap.put("z", guideTask.getGuidePTZ().getZ());
+            cmd.setPtzMap(ptzMap);
+            if (guideTask.getRecordSn().equals(1)) {
+                cmd.setRecordObjectName("alarm_" + guideTask.getAlarmId() + "_1");
+            } else {
+                cmd.setRecordObjectName("alarm_" + guideTask.getAlarmId() + "_2");
+            }
+
             log.debug("寮�濮嬪紩瀵�");
-            boolean guideRes = cameraSdkService.guideTargetPosition(cmd);
+            boolean guideRes = false;
+            if (cmd.getPtzMap().get("p") != null) {
+                //p鍊煎瓨鍦� 浼樺厛寮曞ptz
+                guideRes = cameraSdkService.setPtz(cmd);
+            } else {
+                guideRes = cameraSdkService.guideTargetPosition(cmd);
+            }
             if (guideRes) {
                 log.debug("寮曞鎴愬姛");
                 cameraSdkService.controlLock(cmd);//涓婇攣
@@ -96,6 +113,7 @@
                                 ardAlarmRadarFire.setRecordUrl2(url);
                             }
                             ardAlarmRadarFireService.updateArdAlarmRadarFire(ardAlarmRadarFire);
+                            break;
                         case "sys_radar_pump":
                             ArdAlarmRadarPump ardAlarmRadarPump = new ArdAlarmRadarPump();
                             ardAlarmRadarPump.setId(guideTask.getAlarmId());
@@ -125,4 +143,4 @@
             log.info("绾跨▼浠诲姟寮傚父:" + ex.getMessage());
         }
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.9.3