From 12fe66f8ad34f912321efee674060671280fb78c Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期六, 24 六月 2023 11:24:14 +0800
Subject: [PATCH] 增加获取当前聚焦模式接口

---
 ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java |    6 +++++-
 ard-work/src/main/java/com/ruoyi/device/hiksdk/controller/SdkController.java                |    8 ++++++++
 ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java       |   19 +++++++++++++++++++
 ard-work/src/main/resources/mapper/alarm/ArdAlarmCameraMapper.xml                           |    8 +++++++-
 ard-work/src/main/java/com/ruoyi/device/hiksdk/service/IHikClientService.java               |    3 ++-
 5 files changed, 41 insertions(+), 3 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java
index 70ebb7c..6c3b90b 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java
@@ -379,7 +379,11 @@
                 aas.setParams(params);
                 List<ArdAlarmStealelec> ardAlarmStealelecs = ardAlarmStealelecMapper.selectArdAlarmStealelecList(aas);
                 return ardAlarmStealelecs;
-
+            case 1002:
+                ArdAlarmCamera aac = new ArdAlarmCamera();
+                aac.setParams(params);
+                List<ArdAlarmCamera> ardAlarmCameras = ardAlarmCameraMapper.selectArdAlarmCameraList(aac);
+                return ardAlarmCameras;
             case 1014:
                 ArdAlarmTube aat = new ArdAlarmTube();
                 aat.setParams(params);
diff --git a/ard-work/src/main/java/com/ruoyi/device/hiksdk/controller/SdkController.java b/ard-work/src/main/java/com/ruoyi/device/hiksdk/controller/SdkController.java
index bd86539..925ef86 100644
--- a/ard-work/src/main/java/com/ruoyi/device/hiksdk/controller/SdkController.java
+++ b/ard-work/src/main/java/com/ruoyi/device/hiksdk/controller/SdkController.java
@@ -15,6 +15,7 @@
 import io.swagger.annotations.ApiOperation;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.*;
+
 import javax.annotation.PostConstruct;
 import javax.annotation.Resource;
 import java.util.List;
@@ -235,6 +236,13 @@
         return toAjax(sdk.controlFocusMode(cmd));
     }
 
+    @ApiOperation(value = "鑾峰彇鑱氱劍妯″紡", notes = "1鎵嬪姩2鑷姩")
+    @PostMapping("/getFocusMode")
+    public  @ResponseBody AjaxResult getFocusMode(@RequestBody CameraCmd cmd) {
+        String focusMode = sdk.getFocusMode(cmd);
+        return AjaxResult.success(focusMode);
+    }
+
     @ApiOperation("浜戝彴鍔犵儹")
     @PostMapping("/heateRpwron")
     @Log(title = "浜戝彴鍔犵儹", businessType = BusinessType.CONTROL)
diff --git a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/IHikClientService.java b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/IHikClientService.java
index 4cb73e6..59ddfb1 100644
--- a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/IHikClientService.java
+++ b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/IHikClientService.java
@@ -54,7 +54,8 @@
 
     //鑱氱劍妯″紡
     boolean controlFocusMode(CameraCmd cmd);
-
+    //鑾峰彇鑱氱劍妯″紡
+    String getFocusMode(CameraCmd cmd);
     //浜戝彴鍔犵儹
     boolean controlPTHeateRpwron(CameraCmd cmd);
 
diff --git a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
index c488645..af9178a 100644
--- a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
@@ -1014,6 +1014,25 @@
         return bool;
     }
 
+    public String getFocusMode(CameraCmd cmd)
+    {
+        String cameraId = cmd.getCameraId();
+        Integer channelNum = cmd.getChannelNum();
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
+            return "";
+        }
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
+        NET_DVR_FOCUSMODE_CFG struFocusMode = new NET_DVR_FOCUSMODE_CFG();
+        Pointer point = struFocusMode.getPointer();
+        IntByReference ibrBytesReturned = new IntByReference(0);
+        boolean b_GetCameraParam = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_FOCUSMODECFG, channelNum, point, struFocusMode.size(), ibrBytesReturned);
+        if (!b_GetCameraParam) {
+            System.out.println("鑾峰彇鍓嶇鍙傛暟澶辫触锛岄敊璇爜锛�" + hCNetSDK.NET_DVR_GetLastError());
+        }
+        struFocusMode.read();
+        log.info("褰撳墠鑱氱劍妯″紡锛�" + struFocusMode.byFocusMode);
+        return String.valueOf(struFocusMode.byFocusMode);
+    }
     /**
      * @鎻忚堪 浜戝彴鍔犵儹寮�鍏�
      * @鍙傛暟 [userId, channelNum, enable]
diff --git a/ard-work/src/main/resources/mapper/alarm/ArdAlarmCameraMapper.xml b/ard-work/src/main/resources/mapper/alarm/ArdAlarmCameraMapper.xml
index 9d29056..941a0f1 100644
--- a/ard-work/src/main/resources/mapper/alarm/ArdAlarmCameraMapper.xml
+++ b/ard-work/src/main/resources/mapper/alarm/ArdAlarmCameraMapper.xml
@@ -36,7 +36,13 @@
             <if test="cameraChannel != null "> and camera_channel = #{cameraChannel}</if>
             <if test="cameraType != null  and cameraType != ''"> and camera_type = #{cameraType}</if>
             <if test="alarmType != null  and alarmType != ''"> and alarm_type = #{alarmType}</if>
-            <if test="alarmTime != null "> and alarm_time = #{alarmTime}</if>
+<!--            <if test="alarmTime != null "> and alarm_time = #{alarmTime}</if>-->
+            <if test="params.beginTime != null and params.beginTime != ''"><!-- 寮�濮嬫椂闂存绱� -->
+                AND alarm_time &gt;= to_timestamp(#{params.beginTime},'yyyy-MM-DD HH24:MI:ss')
+            </if>
+            <if test="params.endTime != null and params.endTime != ''"><!-- 缁撴潫鏃堕棿妫�绱� -->
+                AND alarm_time &lt;= to_timestamp(#{params.endTime},'yyyy-MM-DD HH24:MI:ss')
+            </if>
             <if test="longitude != null "> and longitude = #{longitude}</if>
             <if test="latitude != null "> and latitude = #{latitude}</if>
             <if test="ruleId != null "> and rule_id = #{ruleId}</if>

--
Gitblit v1.9.3