From 650b127a6a671a87034db5e027379e740aa56364 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: Thu, 14 Mar 2024 08:54:33 +0800
Subject: [PATCH] 优化

---
 ard-work/src/main/java/com/ruoyi/alarm/radar/service/impl/ArdRadarServiceImpl.java        |    2 
 ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/controller/HikSdkController.java        |   32 -
 ard-work/src/main/java/com/ruoyi/device/camera/factory/CameraSDK.java                     |   48 +-
 ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java        |   46 +-
 ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java     |  184 ++++++----
 ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java          |  300 +++++++++--------
 ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/controller/DhSdkController.java          |    2 
 ard-work/src/main/java/com/ruoyi/device/camera/service/ICameraSdkService.java             |   36 +-
 ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java              |    3 
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java                            |    6 
 ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java |    4 
 ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/SdkOperateAspect.java           |    4 
 ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java               |  239 +++++++-------
 13 files changed, 478 insertions(+), 428 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 7cfafa5..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
@@ -133,7 +133,8 @@
                     guideRes = true;
                 }
             } else {
-                guideRes = cameraSdkService.guideTargetPosition(cmd);
+                AjaxResult result = cameraSdkService.guideTargetPosition(cmd);
+                guideRes = result.get("code").equals(200);
             }
             if (guideRes) {
                 log.debug("引导成功");
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/service/impl/ArdRadarServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/service/impl/ArdRadarServiceImpl.java
index c81b343..9626ed2 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/radar/service/impl/ArdRadarServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/service/impl/ArdRadarServiceImpl.java
@@ -110,7 +110,7 @@
                         cmd.setCameraId(camera.getId());
                         cmd.setChanNo(1);
                         cmd.setTargetPosition(new double[]{guidePoint.getLongitude(), guidePoint.getLatitude()});
-                        boolean res = iCameraSdkService.guideTargetPosition(cmd);
+                        boolean res = iCameraSdkService.guideTargetPosition(cmd).get("code").equals(200);
                         if (res) {
                             log.debug("雷达追踪引导成功");
                         } else {
diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java b/ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java
index fe446ef..a2cefc6 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java
@@ -104,7 +104,7 @@
     public @ResponseBody
     AjaxResult gotoPreset(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.gotoPreset(cmd));
+        return cameraSdkService.gotoPreset(cmd);
     }
 
     @ApiOperation("设置预置点")
@@ -114,7 +114,7 @@
     public @ResponseBody
     AjaxResult setPreset(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.setPreset(cmd));
+        return cameraSdkService.setPreset(cmd);
     }
 
     @ApiOperation("获取聚焦值")
@@ -124,8 +124,7 @@
     public @ResponseBody
     AjaxResult getFocusPos(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        int focus = cameraSdkService.getFocusPos(cmd);
-        return AjaxResult.success("获取聚焦值", focus);
+        return cameraSdkService.getFocusPos(cmd);
     }
 
     @ApiOperation("设置聚焦值")
@@ -135,7 +134,7 @@
     public @ResponseBody
     AjaxResult setFocusPos(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.setFocusPos(cmd));
+        return cameraSdkService.setFocusPos(cmd);
     }
 
     @ApiOperation("获取PTZ")
@@ -145,8 +144,7 @@
     public @ResponseBody
     AjaxResult getPTZ(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        Map<String, Object> ptzMap = cameraSdkService.getPtz(cmd);
-        return AjaxResult.success("获取ptz", ptzMap);
+        return cameraSdkService.getPtz(cmd);
     }
 
     @ApiOperation("获取PTZ范围")
@@ -156,8 +154,7 @@
     public @ResponseBody
     AjaxResult getPTZScope(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        Map<String, Object> ptzMap = cameraSdkService.getPtzScope(cmd);
-        return AjaxResult.success("获取ptz范围", ptzMap);
+        return cameraSdkService.getPtzScope(cmd);
     }
 
     @ApiOperation("设置PTZ")
@@ -185,7 +182,7 @@
         List<ArdCameraNoGuideZone> ardCameraNoGuideZones = ardCameraNoGuideZoneService.selectArdCameraNoGuideZoneList(ardCameraNoGuideZone);
         if (ardCameraNoGuideZones.size() > 0) {
             //获取到当前相机的坐标集合
-            for(ArdCameraNoGuideZone zone:ardCameraNoGuideZones) {
+            for (ArdCameraNoGuideZone zone : ardCameraNoGuideZones) {
                 String[] parts = zone.getPoi().split(",");
                 List<Point> pointList = new ArrayList<>();
                 for (int i = 0; i < parts.length; i += 3) {
@@ -199,13 +196,12 @@
                 Point targetPoint = new Point(lon, lat);
                 //判断引导目标是否在坐标集合组成的多边形内
                 boolean inPolygon = GisUtil.isInPolygon(targetPoint, pointList);
-                if(inPolygon)
-                {
+                if (inPolygon) {
                     return AjaxResult.error("引导坐标位于禁引可视域内");
                 }
             }
         }
-        return toAjax(cameraSdkService.guideTargetPosition(cmd));
+        return cameraSdkService.guideTargetPosition(cmd);
     }
 
     @ApiOperation("指向目标井")
@@ -225,7 +221,7 @@
     public @ResponseBody
     AjaxResult setZeroPTZ(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.setZeroPtz(cmd));
+        return cameraSdkService.setZeroPtz(cmd);
     }
 
     @ApiOperation("设置锁定")
@@ -235,7 +231,7 @@
     public @ResponseBody
     AjaxResult setPTZLock(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return AjaxResult.success(cameraSdkService.controlLock(cmd));
+        return cameraSdkService.controlLock(cmd);
     }
 
     @ApiOperation("设置解锁")
@@ -245,7 +241,7 @@
     public @ResponseBody
     AjaxResult setPTZUnLock(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return AjaxResult.success(cameraSdkService.controlUnLock(cmd));
+        return cameraSdkService.controlUnLock(cmd);
     }
 
     @ApiOperation("获取云台锁定信息")
@@ -255,7 +251,8 @@
     public @ResponseBody
     AjaxResult getPTZLockInfo(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        int byWorkMode = cameraSdkService.getPTZLockInfo(cmd);
+        AjaxResult ajaxResult = cameraSdkService.getPTZLockInfo(cmd);
+        Integer byWorkMode = (Integer) ajaxResult.get("msg");
         if (byWorkMode == 0) {
             return AjaxResult.success("云台锁定状态:解锁");
         } else if (byWorkMode == 1) {
@@ -272,7 +269,7 @@
     public @ResponseBody
     AjaxResult defogcfg(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.controlDefogcfg(cmd));
+        return cameraSdkService.controlDefogcfg(cmd);
     }
 
     @ApiOperation("红外开关")
@@ -282,7 +279,7 @@
     public @ResponseBody
     AjaxResult infrarecfg(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.controlInfrarecfg(cmd));
+        return cameraSdkService.controlInfrarecfg(cmd);
     }
 
     @ApiOperation(value = "手动/自动聚焦", notes = "true手动flase自动")
@@ -292,7 +289,7 @@
     public @ResponseBody
     AjaxResult enableFocusMode(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.controlFocusMode(cmd));
+        return cameraSdkService.controlFocusMode(cmd);
     }
 
     @ApiOperation(value = "获取聚焦模式", notes = "1手动2自动")
@@ -301,8 +298,7 @@
     public @ResponseBody
     AjaxResult getFocusMode(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        String focusMode = cameraSdkService.getFocusMode(cmd);
-        return AjaxResult.success(focusMode);
+        return cameraSdkService.getFocusMode(cmd);
     }
 
     @ApiOperation("云台加热")
@@ -312,7 +308,7 @@
     public @ResponseBody
     AjaxResult heateRpwron(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.controlPTHeateRpwron(cmd));
+        return cameraSdkService.controlPTHeateRpwron(cmd);
     }
 
 
@@ -323,7 +319,7 @@
     public @ResponseBody
     AjaxResult cameraDeicing(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.controlCameraDeicing(cmd));
+        return cameraSdkService.controlCameraDeicing(cmd);
     }
 
     @ApiOperation("相机抓图")
@@ -344,7 +340,7 @@
     public @ResponseBody
     AjaxResult getGisInfo(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return AjaxResult.success(cameraSdkService.getGisInfo(cmd));
+        return cameraSdkService.getGisInfo(cmd);
     }
 
     @ApiOperation("录像")
diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/factory/CameraSDK.java b/ard-work/src/main/java/com/ruoyi/device/camera/factory/CameraSDK.java
index bebca46..be01720 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/factory/CameraSDK.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/factory/CameraSDK.java
@@ -30,69 +30,69 @@
     AjaxResult pTZControl(CameraCmd cmd);
 
     //设置聚焦值
-    boolean setFocusPos(CameraCmd cmd);
+    AjaxResult setFocusPos(CameraCmd cmd);
 
     //获取聚焦值
-    int getFocusPos(CameraCmd cmd);
+    AjaxResult getFocusPos(CameraCmd cmd);
 
     //设置预置位
-    boolean setPreset(CameraCmd cmd);
+    AjaxResult setPreset(CameraCmd cmd);
 
     //调用预置位
-    boolean gotoPreset(CameraCmd cmd);
+    AjaxResult gotoPreset(CameraCmd cmd);
 
     //获取码流压缩参数
     Map<String, Object> getVideoCompressionCfg(CameraCmd cmd);
 
     //透雾
-    boolean controlDefogcfg(CameraCmd cmd);
+    AjaxResult controlDefogcfg(CameraCmd cmd);
 
     //红外
-    boolean controlInfrarecfg(CameraCmd cmd);
+    AjaxResult controlInfrarecfg(CameraCmd cmd);
 
     //聚焦模式
-    boolean controlFocusMode(CameraCmd cmd);
+    AjaxResult controlFocusMode(CameraCmd cmd);
 
     //获取聚焦模式
-    String getFocusMode(CameraCmd cmd);
+    AjaxResult getFocusMode(CameraCmd cmd);
 
     //云台加热
-    boolean controlPTHeateRpwron(CameraCmd cmd);
+    AjaxResult controlPTHeateRpwron(CameraCmd cmd);
 
     //镜头除冰
-    boolean controlCameraDeicing(CameraCmd cmd);
+    AjaxResult controlCameraDeicing(CameraCmd cmd);
 
     //获取云台锁定信息
-    int getPTZLockInfo(CameraCmd cmd);
+    AjaxResult getPTZLockInfo(CameraCmd cmd);
 
     //抓图-返给前端二进制流
-    String captureJPEGPicture(CameraCmd cmd);
+    AjaxResult captureJPEGPicture(CameraCmd cmd);
 
     //抓图
     String picCutCate(CameraCmd cmd);
-    //ptz 三坐标
-    Map<String, Object> getPtz1(CameraCmd cmd);
+    //获取ptz
+    AjaxResult getPtz(CameraCmd cmd);
 
-    //ptz 三坐标 高精度PTZ
-    Map<String, Object> getPtz(CameraCmd cmd);
+    //获取高精度PTZ
+    AjaxResult getPtzHigh(CameraCmd cmd);
 
     //获取ptz范围
-    Map<String, Object> getPtzScope(CameraCmd cmd);
+    AjaxResult getPtzScope(CameraCmd cmd);
 
-    //设置ptz1(不支持2通道的Z值设置和获取)
-    AjaxResult setPtz1(CameraCmd cmd);
-
-    //设置ptz(高精度ptz设置)
+    //设置ptz(不支持2通道的Z值设置和获取)
     AjaxResult setPtz(CameraCmd cmd);
 
+    //设置ptz(高精度ptz设置)
+    AjaxResult setPtzHigh(CameraCmd cmd);
+
     //设置零方位角
-    boolean setZeroPtz(CameraCmd cmd);
+    AjaxResult setZeroPtz(CameraCmd cmd);
 
     //手动录像
     String record(CameraCmd cmd);
 
     //引导目标位置
-    boolean guideTargetPosition(CameraCmd cmd);
+    AjaxResult guideTargetPosition(CameraCmd cmd);
 
     //开始录像
     boolean recordStart(CameraCmd cmd);
@@ -107,5 +107,5 @@
     List<ArdChannel> getIPChannelInfo(ArdCameras camera);
 
     //获取GIS信息数据
-    Map<String, Object> getGisInfo(CameraCmd cmd);
+    AjaxResult getGisInfo(CameraCmd cmd);
 }
diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/service/ICameraSdkService.java b/ard-work/src/main/java/com/ruoyi/device/camera/service/ICameraSdkService.java
index 9f30817..a5a2662 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/service/ICameraSdkService.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/service/ICameraSdkService.java
@@ -22,46 +22,46 @@
     AjaxResult pTZControl(CameraCmd cmd);
 
     //设置聚焦值
-    boolean setFocusPos(CameraCmd cmd);
+    AjaxResult setFocusPos(CameraCmd cmd);
 
     //获取聚焦值
-    int getFocusPos(CameraCmd cmd);
+    AjaxResult getFocusPos(CameraCmd cmd);
 
     //设置预置位
-    boolean setPreset(CameraCmd cmd);
+    AjaxResult setPreset(CameraCmd cmd);
 
     //调用预置位
-    boolean gotoPreset(CameraCmd cmd);
+    AjaxResult gotoPreset(CameraCmd cmd);
 
     //获取码流压缩参数
     Map<String, Object> getVideoCompressionCfg(CameraCmd cmd);
 
     //透雾
-    boolean controlDefogcfg(CameraCmd cmd);
+    AjaxResult controlDefogcfg(CameraCmd cmd);
 
     //红外
-    boolean controlInfrarecfg(CameraCmd cmd);
+    AjaxResult controlInfrarecfg(CameraCmd cmd);
 
     //聚焦模式
-    boolean controlFocusMode(CameraCmd cmd);
+    AjaxResult controlFocusMode(CameraCmd cmd);
 
     //获取聚焦模式
-    String getFocusMode(CameraCmd cmd);
+    AjaxResult getFocusMode(CameraCmd cmd);
 
     //云台加热
-    boolean controlPTHeateRpwron(CameraCmd cmd);
+    AjaxResult controlPTHeateRpwron(CameraCmd cmd);
 
     //镜头加热除冰
-    boolean controlCameraDeicing(CameraCmd cmd);
+    AjaxResult controlCameraDeicing(CameraCmd cmd);
 
     //配置锁定
-    boolean controlLock(CameraCmd cmd);
+    AjaxResult controlLock(CameraCmd cmd);
 
     //配置解锁
-    boolean controlUnLock(CameraCmd cmd);
+    AjaxResult controlUnLock(CameraCmd cmd);
 
     //获取云台锁定信息
-    int getPTZLockInfo(CameraCmd cmd);
+    AjaxResult getPTZLockInfo(CameraCmd cmd);
 
     //抓图-返给前端二进制流
     String captureJPEGPicture(CameraCmd cmd);
@@ -70,19 +70,19 @@
     String picCutCate(CameraCmd cmd);
 
     //ptz 三坐标
-    Map<String, Object> getPtz(CameraCmd cmd);
+    AjaxResult getPtz(CameraCmd cmd);
 
     //获取ptz范围
-    Map<String, Object> getPtzScope(CameraCmd cmd);
+    AjaxResult getPtzScope(CameraCmd cmd);
 
     //设置ptz
     AjaxResult setPtz(CameraCmd cmd);
 
     //设置零方位角
-    boolean setZeroPtz(CameraCmd cmd);
+    AjaxResult setZeroPtz(CameraCmd cmd);
 
     //引导目标位置
-    boolean guideTargetPosition(CameraCmd cmd);
+    AjaxResult guideTargetPosition(CameraCmd cmd);
 
     //引导目标井
     AjaxResult guideTargetWell(CameraCmd cmd);
@@ -100,5 +100,5 @@
     boolean recordStopNotToMinio(CameraCmd cmd);
 
     //获取GIS信息数据
-    Map<String, Object> getGisInfo(CameraCmd cmd);
+    AjaxResult getGisInfo(CameraCmd cmd);
 }
diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java
index 6869b82..8f1a9b0 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java
@@ -145,75 +145,78 @@
 
     //设置聚焦值
     @Override
-    public boolean setFocusPos(CameraCmd cmd) {
-        boolean result = false;
+    public AjaxResult setFocusPos(CameraCmd cmd) {
         try {
             String cameraId = cmd.getCameraId();
             ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
             if (ardCamera != null) {
                 String factory = ardCamera.getFactory();
                 CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
-                result = cameraSDK.setFocusPos(cmd);
+                return cameraSDK.setFocusPos(cmd);
+            } else {
+                return AjaxResult.error("摄像头不存在");
             }
         } catch (Exception ex) {
             log.error("设置聚焦值异常:" + ex.getMessage());
-
+            return AjaxResult.error("设置聚焦值异常:" + ex.getMessage());
         }
-        return result;
     }
 
     //获取聚焦值
     @Override
-    public int getFocusPos(CameraCmd cmd) {
-        int result = 0;
+    public AjaxResult getFocusPos(CameraCmd cmd) {
         try {
             String cameraId = cmd.getCameraId();
             ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
             if (ardCamera != null) {
                 String factory = ardCamera.getFactory();
                 CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
-                result = cameraSDK.getFocusPos(cmd);
+                return cameraSDK.getFocusPos(cmd);
+            } else {
+                return AjaxResult.error("摄像头不存在");
             }
         } catch (Exception ex) {
             log.error("获取聚焦值异常:" + ex.getMessage());
+            return AjaxResult.error("获取聚焦值异常:" + ex.getMessage());
         }
-        return result;
     }
 
     //设置预置位
     @Override
-    public boolean setPreset(CameraCmd cmd) {
-        boolean result = false;
+    public AjaxResult setPreset(CameraCmd cmd) {
         try {
             String cameraId = cmd.getCameraId();
             ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
             if (ardCamera != null) {
                 String factory = ardCamera.getFactory();
                 CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
-                result = cameraSDK.setPreset(cmd);
+                return cameraSDK.setPreset(cmd);
+            } else {
+                return AjaxResult.error("摄像头不存在");
             }
         } catch (Exception ex) {
             log.error("设置预置位异常:" + ex.getMessage());
+            return AjaxResult.error("设置预置位异常" + ex.getMessage());
         }
-        return result;
     }
 
     //调用预置位
     @Override
-    public boolean gotoPreset(CameraCmd cmd) {
-        boolean result = false;
+    public AjaxResult gotoPreset(CameraCmd cmd) {
         try {
             String cameraId = cmd.getCameraId();
             ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
             if (ardCamera != null) {
                 String factory = ardCamera.getFactory();
                 CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
-                result = cameraSDK.gotoPreset(cmd);
+                return cameraSDK.gotoPreset(cmd);
+            } else {
+                return AjaxResult.error("摄像头不存在");
             }
         } catch (Exception ex) {
             log.error("调用预置位异常:" + ex.getMessage());
+            return AjaxResult.error("调用预置位异常" + ex.getMessage());
         }
-        return result;
     }
 
     //获取码流压缩参数
@@ -236,128 +239,138 @@
 
     //透雾开关
     @Override
-    public boolean controlDefogcfg(CameraCmd cmd) {
-        boolean result = false;
+    public AjaxResult controlDefogcfg(CameraCmd cmd) {
         try {
             String cameraId = cmd.getCameraId();
             ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
             if (ardCamera != null) {
                 String factory = ardCamera.getFactory();
                 CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
-                result = cameraSDK.controlDefogcfg(cmd);
+                return cameraSDK.controlDefogcfg(cmd);
+            } else {
+                return AjaxResult.error("摄像头不存在");
             }
         } catch (Exception ex) {
             log.error("操控透雾异常:" + ex.getMessage());
+            return AjaxResult.error("操控透雾异常" + ex.getMessage());
         }
-        return result;
     }
 
     //红外开关
     @Override
-    public boolean controlInfrarecfg(CameraCmd cmd) {
-        boolean result = false;
+    public AjaxResult controlInfrarecfg(CameraCmd cmd) {
         try {
             String cameraId = cmd.getCameraId();
             ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
             if (ardCamera != null) {
                 String factory = ardCamera.getFactory();
                 CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
-                result = cameraSDK.controlInfrarecfg(cmd);
+                return cameraSDK.controlInfrarecfg(cmd);
+            } else {
+                return AjaxResult.error("摄像头不存在");
             }
         } catch (Exception ex) {
             log.error("操控红外异常:" + ex.getMessage());
+            return AjaxResult.error("操控红外异常:" + ex.getMessage());
         }
-        return result;
     }
 
     //手动/自动聚焦
     @Override
-    public boolean controlFocusMode(CameraCmd cmd) {
-        boolean result = false;
+    public AjaxResult controlFocusMode(CameraCmd cmd) {
         try {
             String cameraId = cmd.getCameraId();
             ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
             if (ardCamera != null) {
                 String factory = ardCamera.getFactory();
                 CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
-                result = cameraSDK.controlFocusMode(cmd);
+                return cameraSDK.controlFocusMode(cmd);
+            } else {
+                return AjaxResult.error("摄像头不存在");
             }
         } catch (Exception ex) {
             log.error("操控聚焦模式异常:" + ex.getMessage());
+            return AjaxResult.error("操控聚焦模式异常:" + ex.getMessage());
         }
-        return result;
     }
 
     //获取聚焦模式
     @Override
-    public String getFocusMode(CameraCmd cmd) {
-        String result = "";
+    public AjaxResult getFocusMode(CameraCmd cmd) {
         try {
             String cameraId = cmd.getCameraId();
             ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
             if (ardCamera != null) {
                 String factory = ardCamera.getFactory();
                 CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
-                result = cameraSDK.getFocusMode(cmd);
+                return cameraSDK.getFocusMode(cmd);
+            } else {
+                return AjaxResult.error("摄像头不存在");
             }
         } catch (Exception ex) {
             log.error("获取聚焦模式异常:" + ex.getMessage());
+            return AjaxResult.error("获取聚焦模式异常:" + ex.getMessage());
         }
-        return result;
     }
 
     //云台加热
     @Override
-    public boolean controlPTHeateRpwron(CameraCmd cmd) {
-        boolean result = false;
+    public AjaxResult controlPTHeateRpwron(CameraCmd cmd) {
+
         try {
             String cameraId = cmd.getCameraId();
             ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
             if (ardCamera != null) {
                 String factory = ardCamera.getFactory();
                 CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
-                result = cameraSDK.controlPTHeateRpwron(cmd);
+                return cameraSDK.controlPTHeateRpwron(cmd);
+            } else {
+                return AjaxResult.error("摄像头不存在");
             }
         } catch (Exception ex) {
             log.error("操控云台加热异常:" + ex.getMessage());
+            return AjaxResult.error("操控云台加热异常:" + ex.getMessage());
         }
-        return result;
+
     }
 
     //镜头加热
     @Override
-    public boolean controlCameraDeicing(CameraCmd cmd) {
-        boolean result = false;
+    public AjaxResult controlCameraDeicing(CameraCmd cmd) {
+
         try {
             String cameraId = cmd.getCameraId();
             ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
             if (ardCamera != null) {
                 String factory = ardCamera.getFactory();
                 CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
-                result = cameraSDK.controlCameraDeicing(cmd);
+                return cameraSDK.controlCameraDeicing(cmd);
+            } else {
+                return AjaxResult.error("摄像头不存在");
             }
         } catch (Exception ex) {
             log.error("操控云台加热异常:" + ex.getMessage());
+            return AjaxResult.error("操控云台加热异常:" + ex.getMessage());
         }
-        return result;
     }
 
     //获取云台锁定信息
     @Override
-    public int getPTZLockInfo(CameraCmd cmd) {
-        int result = 99;
+    public AjaxResult getPTZLockInfo(CameraCmd cmd) {
         try {
             String cameraId = cmd.getCameraId();
             ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
             if (ardCamera != null) {
                 String factory = ardCamera.getFactory();
                 CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
-                result = cameraSDK.getPTZLockInfo(cmd);
+                return cameraSDK.getPTZLockInfo(cmd);
+            } else {
+                return AjaxResult.error("摄像头不存在");
             }
         } catch (Exception ex) {
-            log.error("获取云台锁定信息异常:" + ex.getMessage());
+            log.error("获取云台锁定信息异常:" + ex.getMessage());
+            return AjaxResult.error("获取云台锁定信息异常:" + ex.getMessage());
         }
-        return result;
     }
 
     @Override
@@ -388,7 +401,7 @@
 
     //获取ptz
     @Override
-    public Map<String, Object> getPtz(CameraCmd cmd) {
+    public AjaxResult getPtz(CameraCmd cmd) {
         Map<String, Object> map = new HashMap<>();
         try {
             String cameraId = cmd.getCameraId();
@@ -398,33 +411,36 @@
                 CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                 String gdtype = ardCamera.getGdtype();
                 if (gdtype.equals("1")) {
-                    map = cameraSDK.getPtz(cmd);
+                    return cameraSDK.getPtzHigh(cmd);
                 } else {
-                    map = cameraSDK.getPtz1(cmd);
+                    return cameraSDK.getPtz(cmd);
                 }
+            } else {
+                return AjaxResult.error("摄像头不存在");
             }
         } catch (Exception ex) {
             log.error("获取ptz异常:" + ex.getMessage());
+            return AjaxResult.error("获取ptz异常:" + ex.getMessage());
         }
-        return map;
     }
 
     //获取ptz范围
     @Override
-    public Map<String, Object> getPtzScope(CameraCmd cmd) {
-        Map<String, Object> map = new HashMap<>();
+    public AjaxResult getPtzScope(CameraCmd cmd) {
         try {
             String cameraId = cmd.getCameraId();
             ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
             if (ardCamera != null) {
                 String factory = ardCamera.getFactory();
                 CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
-                map = cameraSDK.getPtzScope(cmd);
+                return cameraSDK.getPtzScope(cmd);
+            } else {
+                return AjaxResult.error("摄像头不存在");
             }
         } catch (Exception ex) {
             log.error("获取ptz范围异常:" + ex.getMessage());
+            return AjaxResult.error("获取ptz范围异常:" + ex.getMessage());
         }
-        return map;
     }
 
     //设置ptz
@@ -440,52 +456,53 @@
             String gdtype = ardCamera.getGdtype();
             if (gdtype.equals("1")) {
                 //大光电使用高精度ptz设置
-                return cameraSDK.setPtz(cmd);
+                return cameraSDK.setPtzHigh(cmd);
             } else {
-                return cameraSDK.setPtz1(cmd);
+                return cameraSDK.setPtz(cmd);
             }
 
         } catch (Exception ex) {
             log.error("设置ptz异常:" + ex.getMessage());
-            AjaxResult.error("设置ptz异常:" + ex.getMessage());
+           return AjaxResult.error("设置ptz异常:" + ex.getMessage());
         }
-        return AjaxResult.success();
     }
 
     //设置零方位角
     @Override
-    public boolean setZeroPtz(CameraCmd cmd) {
-        boolean result = false;
+    public AjaxResult setZeroPtz(CameraCmd cmd) {
         try {
             String cameraId = cmd.getCameraId();
             ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
             if (ardCamera != null) {
                 String factory = ardCamera.getFactory();
                 CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
-                result = cameraSDK.setZeroPtz(cmd);
+                return cameraSDK.setZeroPtz(cmd);
+            } else {
+                return AjaxResult.error("摄像头不存在");
             }
         } catch (Exception ex) {
             log.error("设置零方位角异常:" + ex.getMessage());
+            return AjaxResult.error("设置零方位角异常:" + ex.getMessage());
         }
-        return result;
     }
 
     //引导指向目标
     @Override
-    public boolean guideTargetPosition(CameraCmd cmd) {
-        boolean result = false;
+    public AjaxResult guideTargetPosition(CameraCmd cmd) {
         try {
             String cameraId = cmd.getCameraId();
             ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
             if (ardCamera != null) {
                 String factory = ardCamera.getFactory();
                 CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
-                result = cameraSDK.guideTargetPosition(cmd);
+                return cameraSDK.guideTargetPosition(cmd);
+            } else {
+                return AjaxResult.error("摄像头不存在");
             }
         } catch (Exception ex) {
-            log.error("引导指向目标异常:" + ex.getMessage());
+            log.error("引导指向目标异常:" + ex.getMessage());
+            return AjaxResult.error("引导指向目标异常:" + ex.getMessage());
         }
-        return result;
     }
 
     //引导指向井
@@ -501,8 +518,8 @@
         if (well == null) {
             return AjaxResult.error("井不存在");
         }
-        GuidePoint guidePoint=new GuidePoint().setLongitude(well.getLongitude()).setLatitude(well.getLatitude());
-        cmd.setTargetPosition(new double[]{guidePoint.getLongitude(),guidePoint.getLatitude()});
+        GuidePoint guidePoint = new GuidePoint().setLongitude(well.getLongitude()).setLatitude(well.getLatitude());
+        cmd.setTargetPosition(new double[]{guidePoint.getLongitude(), guidePoint.getLatitude()});
 
         //获取井配置的引导相机列表
         List<ArdWellGuideCamera> ardWellGuideCameraList = well.getArdWellGuideCameraList();
@@ -569,7 +586,7 @@
             return AjaxResult.error("井位置属于相机禁止引导区域");
         }
         //按井坐标开始引导
-        if (!guideTargetPosition(cmd)) {
+        if (!guideTargetPosition(cmd).get("code").equals(200)) {
             return AjaxResult.error("井坐标引导失败", "cameraId:" + cameraId);
         }
         return AjaxResult.success("井坐标引导成功", "cameraId:" + cameraId);
@@ -669,14 +686,18 @@
      */
     @Override
     @SdkOperate
-    public boolean controlLock(CameraCmd cmd) {
+    public AjaxResult controlLock(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();//申请锁的相机
         ArdCameras ardCameras = ardCamerasService.selectArdCamerasById(cameraId);
+        if(ardCameras==null)
+        {
+            return AjaxResult.error("设备未登录");
+        }
         Date now = new Date();
         now.setTime(now.getTime() + cmd.getExpired() * 1000);
         ardCameras.setOperatorExpired(now);//设置当前过期时间
         ardCamerasService.updateArdCameras(ardCameras);
-        return true;
+        return AjaxResult.success("操控锁定成功");
     }
 
     /**
@@ -688,10 +709,14 @@
      * @修改人和其它信息
      */
     @Override
-    public boolean controlUnLock(CameraCmd cmd) {
+    public AjaxResult controlUnLock(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();//申请解锁的相机
         String operator = cmd.getOperator();//申请者
         ArdCameras ardCameras = ardCamerasService.selectArdCamerasById(cameraId);
+        if(ardCameras==null)
+        {
+            return AjaxResult.error("设备未登录");
+        }
         if (ardCameras.getOperatorId().equals(operator)) {
             //如果解锁相机的当前用户是申请者,则清空该相机的过期时间
             ardCameras.setOperatorExpired(null);
@@ -700,7 +725,8 @@
                 log.debug(cameraId + "--解锁成功");
             }
         }
-        return true;
+
+        return AjaxResult.success("操控解锁成功");
     }
 
     //录像
@@ -778,20 +804,20 @@
 
     //获取相机架设参数
     @Override
-    public Map<String, Object> getGisInfo(CameraCmd cmd) {
-        Map<String, Object> map = new HashMap<>();
+    public AjaxResult getGisInfo(CameraCmd cmd) {
         try {
             String cameraId = cmd.getCameraId();
             ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
             if (ardCamera != null) {
                 String factory = ardCamera.getFactory();
                 CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
-                map = cameraSDK.getGisInfo(cmd);
+                return cameraSDK.getGisInfo(cmd);
+            } else {
+                return AjaxResult.error("相机不存在");
             }
         } catch (Exception ex) {
             log.error("获取相机架设参数异常:" + ex.getMessage());
+            return AjaxResult.error("获取相机架设参数异常:" + ex.getMessage());
         }
-        return map;
     }
-
 }
diff --git a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java
index 482cbf0..9312614 100644
--- a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java
@@ -458,7 +458,7 @@
                     cmd.setTargetPosition(new double[]{guidePoint.getLongitude(), guidePoint.getLatitude()});
                     cmd.setOperator("sys_patrol_inspect");
                     cmd.setExpired(step.getRecordingTime());//秒为单位
-                    boolean setTargetPosition = cameraSdkService.guideTargetPosition(cmd);
+                    boolean setTargetPosition = cameraSdkService.guideTargetPosition(cmd).get("code").equals(200);
                     if (setTargetPosition) {
                         /*控制相机巡检成功,开始录像*/
                         cameraSdkService.recordStart(cmd);
@@ -515,7 +515,7 @@
                     cmd.setTargetPosition(new double[]{guidePoint.getLongitude(), guidePoint.getLatitude()});
                     cmd.setOperator("sys_patrol_inspect");
                     cmd.setExpired(step.getRecordingTime());//秒为单位
-                    boolean setTargetPosition = cameraSdkService.guideTargetPosition(cmd);
+                    boolean setTargetPosition = cameraSdkService.guideTargetPosition(cmd).get("code").equals(200);
                     if (!setTargetPosition) {
                         /*控制失败,当前步骤启动时间置null*/
                         ardVideoInspectTask.setCurrentStepStartTime("");
diff --git a/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/controller/DhSdkController.java b/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/controller/DhSdkController.java
index cd06c9c..7b92c5a 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/controller/DhSdkController.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/controller/DhSdkController.java
@@ -89,7 +89,7 @@
     public @ResponseBody
     AjaxResult setZeroPTZ(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(sdk.setZeroPtz(cmd));
+        return sdk.setZeroPtz(cmd);
     }
 
     @ApiOperation("相机抓图")
diff --git a/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java b/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java
index 31bd49f..4ffb4d8 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java
@@ -20,10 +20,12 @@
 import com.ruoyi.utils.gis.GisUtil;
 import com.ruoyi.utils.minio.MinioUtil;
 import com.ruoyi.utils.sdk.common.GlobalVariable;
+import com.ruoyi.utils.sdk.common.SdkErrorCodeEnum;
 import com.ruoyi.utils.sdk.dhsdk.common.ErrorCode;
 import com.ruoyi.utils.sdk.dhsdk.lib.NetSDKLib;
 import com.ruoyi.utils.sdk.dhsdk.lib.enumeration.EM_NEW_CONFIG;
 import com.ruoyi.utils.sdk.dhsdk.lib.enumeration.NET_EM_CFG_OPERATE_TYPE;
+import com.ruoyi.utils.sdk.dhsdk.lib.structure.CFG_INFRARED_INFO;
 import com.ruoyi.utils.sdk.dhsdk.lib.structure.CFG_VIDEO_IN_FOCUS;
 import com.ruoyi.utils.sdk.dhsdk.lib.structure.DH_OUT_PTZ_VIEW_RANGE_STATUS;
 import com.ruoyi.utils.sdk.dhsdk.module.*;
@@ -395,7 +397,7 @@
             log.error("控制失败,请稍后重试" + getErrorCodePrint());
             return AjaxResult.error(ErrorCode.getErrorCode(LoginModule.netsdk.CLIENT_GetLastError()));
         }
-        return AjaxResult.success();
+        return AjaxResult.success("云台控制成功");
     }
 
     /**
@@ -404,36 +406,44 @@
      * 2023/10/17 8:28:13
      */
     @Override
-    public Map<String, Object> getPtz(CameraCmd cmd) {
+    public AjaxResult getPtz(CameraCmd cmd) {
         Map<String, Object> ptzMap = new HashMap<>();
         String cameraId = cmd.getCameraId();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return null;
+            return AjaxResult.error("设备未登录");
         }
         NetSDKLib.LLong loginId = (NetSDKLib.LLong) GlobalVariable.loginMap.get(cameraId);
         NetSDKLib.NET_PTZ_LOCATION_INFO dh_ptz_location_info = new NetSDKLib.NET_PTZ_LOCATION_INFO();
         boolean b = ConfigModule.queryDevState(loginId, NET_DEVSTATE_PTZ_LOCATION, dh_ptz_location_info);
-        if (b) {
-            DecimalFormat df = new DecimalFormat("0.0");//设置保留位数
-            String nPTZPan = df.format((float) dh_ptz_location_info.nPTZPan / 10);
-            float t = (float) dh_ptz_location_info.nPTZTilt / 10 * -1;
-            String nPTZTilt = df.format(t < 0 ? t + 360 : t);
-            String nPTZZoom = df.format((float) dh_ptz_location_info.nPTZZoom);
-            ptzMap.put("p", nPTZPan);
-            ptzMap.put("t", nPTZTilt);
-            ptzMap.put("z", nPTZZoom);
+        if (!b) {
+            int code = netsdk.CLIENT_GetLastError();
+            log.error("设置ptz失败:" + getErrorCodePrint());
+            return AjaxResult.error("设置ptz失败:" + getErrorCodePrint());
         }
-        return ptzMap;
+        DecimalFormat df = new DecimalFormat("0.0");//设置保留位数
+        String nPTZPan = df.format((float) dh_ptz_location_info.nPTZPan / 10);
+        float t = (float) dh_ptz_location_info.nPTZTilt / 10 * -1;
+        String nPTZTilt = df.format(t < 0 ? t + 360 : t);
+        String nPTZZoom = df.format((float) dh_ptz_location_info.nPTZZoom);
+        ptzMap.put("p", nPTZPan);
+        ptzMap.put("t", nPTZTilt);
+        ptzMap.put("z", nPTZZoom);
+        return AjaxResult.success(ptzMap);
     }
 
     @Override
-    public Map<String, Object> getPtzScope(CameraCmd cmd) {
-        return null;
+    public AjaxResult getPtzHigh(CameraCmd cmd) {
+        return getPtz(cmd);
     }
 
     @Override
-    public AjaxResult setPtz1(CameraCmd cmd) {
-        return setPtz(cmd) ;
+    public AjaxResult getPtzScope(CameraCmd cmd) {
+        return AjaxResult.success("未实现该功能");
+    }
+
+    @Override
+    public AjaxResult setPtzHigh(CameraCmd cmd) {
+        return setPtz(cmd);
     }
 
     /**
@@ -455,8 +465,7 @@
         }
         LLong loginId = (LLong) GlobalVariable.loginMap.get(cameraId);
         try {
-            if(ptz.get("p")==null||ptz.get("t")==null||ptz.get("z")==null)
-            {
+            if (ptz.get("p") == null || ptz.get("t") == null || ptz.get("z") == null) {
                 return AjaxResult.error("ptz参数不能为空");
             }
             int p = (int) (ptz.get("p") * 10);
@@ -466,13 +475,13 @@
             int z = ptz.get("z").intValue() == 0 ? 1 : ptz.get("z").intValue();
             boolean bool = netsdk.CLIENT_DHPTZControlEx(loginId, chanNo - 1, NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_EXACTGOTO, p, t, z, 0);
             if (!bool) {
-                log.error("控制失败,请稍后重试" + getErrorCodePrint());
-                return AjaxResult.error(ErrorCode.getErrorCode(LoginModule.netsdk.CLIENT_GetLastError()));
+                log.error("设置ptz失败:" + getErrorCodePrint());
+                return AjaxResult.error("设置ptz失败:" + getErrorCodePrint());
             }
-            return AjaxResult.success();
+            return AjaxResult.success("设置ptz成功");
         } catch (Exception ex) {
-            log.error(ex.getMessage());
-            return AjaxResult.error(ex.getMessage());
+            log.error("设置ptz异常:" + ex.getMessage());
+            return AjaxResult.error("设置ptz异常:" + ex.getMessage());
         }
     }
 
@@ -486,18 +495,19 @@
      */
     @Override
     @SdkOperate
-    public boolean setZeroPtz(CameraCmd cmd) {
+    public AjaxResult setZeroPtz(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer chanNo = cmd.getChanNo();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return false;
+            return AjaxResult.error("设备未登录");
         }
         LLong loginId = (LLong) GlobalVariable.loginMap.get(cameraId);
         boolean bool = NetSDKLib.NETSDK_INSTANCE.CLIENT_DHPTZControlEx(loginId, chanNo - 1, NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_RESETZERO, 0, 0, 0, 0);
         if (!bool) {
-            log.error("控制失败,请稍后重试" + getErrorCodePrint());
+            log.error("设置零方位角失败:" + getErrorCodePrint());
+            return AjaxResult.error("设置ptz失败:" + getErrorCodePrint());
         }
-        return bool;
+        return AjaxResult.success("设置零方位角成功");
     }
 
     /**
@@ -529,10 +539,6 @@
 
     }
 
-    @Override
-    public Map<String, Object> getPtz1(CameraCmd cmd) {
-        return getPtz(cmd);
-    }
 
     /**
      * @描述 短时录像
@@ -684,11 +690,11 @@
      * 2023/10/17 8:27:48
      */
     @Override
-    public boolean guideTargetPosition(CameraCmd cmd) {
+    public AjaxResult guideTargetPosition(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer chanNo = cmd.getChanNo();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return false;
+            return AjaxResult.error("设备未登录");
         }
         LLong loginId = (LLong) GlobalVariable.loginMap.get(cameraId);
         try {
@@ -701,69 +707,71 @@
             int z = (int) (cameraPTZ[2]);
             boolean bool = netsdk.CLIENT_DHPTZControlEx(loginId, chanNo - 1, NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_EXACTGOTO, p, t, z, 0);
             if (!bool) {
-                log.error("控制失败,请稍后重试" + getErrorCodePrint());
+                log.error("设置ptz失败:" + getErrorCodePrint());
+                return AjaxResult.error("设置ptz失败:" + getErrorCodePrint());
             }
-            return bool;
+            return AjaxResult.success("引导目标位置成功");
         } catch (Exception ex) {
-            log.error("引导异常:" + ex.getMessage());
-            return false;
+            log.error("引导目标位置异常:" + ex.getMessage());
+            return AjaxResult.error("引导目标位置异常:" + ex.getMessage());
         }
     }
 
     //转至预置点
     @Override
-    public boolean gotoPreset(CameraCmd cmd) {
+    public AjaxResult gotoPreset(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer chanNo = cmd.getChanNo();
         Integer PresetIndex = cmd.getPresetIndex();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return false;
+            return AjaxResult.error("设备未登录");
         }
         LLong loginId = (LLong) GlobalVariable.loginMap.get(cameraId);
         try {
 
             boolean bool = netsdk.CLIENT_DHPTZControlEx(loginId, chanNo - 1, NET_PTZ_POINT_MOVE_CONTROL, 0, PresetIndex, 0, 0);
             if (!bool) {
-                log.error("控制失败,请稍后重试" + getErrorCodePrint());
+                log.error("转至预置点失败:" + getErrorCodePrint());
+                return AjaxResult.error("转至预置点失败:" + getErrorCodePrint());
             }
-            return bool;
+            return AjaxResult.success("转至预置点成功");
         } catch (Exception ex) {
             log.error("转至预置点异常:" + ex.getMessage());
-            return false;
+            return AjaxResult.error("转至预置点异常:" + ex.getMessage());
         }
     }
 
     @Override
     //设置预置位
-    public boolean setPreset(CameraCmd cmd) {
+    public AjaxResult setPreset(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer chanNo = cmd.getChanNo();
         Integer PresetIndex = cmd.getPresetIndex();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return false;
+            return AjaxResult.error("设备未登录");
         }
         LLong loginId = (LLong) GlobalVariable.loginMap.get(cameraId);
         try {
-
             boolean bool = netsdk.CLIENT_DHPTZControlEx(loginId, chanNo - 1, NET_PTZ_POINT_SET_CONTROL, 0, PresetIndex, 0, 0);
             if (!bool) {
-                log.error("控制失败,请稍后重试" + getErrorCodePrint());
+                log.error("设置预置点失败:" + getErrorCodePrint());
+                return AjaxResult.error("设置预置点失败:" + getErrorCodePrint());
             }
-            return bool;
+            return AjaxResult.success("设置预置点成功");
         } catch (Exception ex) {
             log.error("设置预置点异常:" + ex.getMessage());
-            return false;
+            return AjaxResult.error("设置预置点异常:" + ex.getMessage());
         }
     }
 
     //切换聚焦模式
     @Override
-    public boolean controlFocusMode(CameraCmd cmd) {
+    public AjaxResult controlFocusMode(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer chanNo = cmd.getChanNo();
         boolean enable = cmd.isEnable();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return false;
+            return AjaxResult.error("设备未登录");
         }
         LLong loginId = (LLong) GlobalVariable.loginMap.get(cameraId);
         try {
@@ -787,22 +795,24 @@
             cfg_video_in_focus.nChannelIndex = chanNo - 1;
             boolean bool = ConfigModule.SetDevConfig(loginId, chanNo - 1, NetSDKLib.CFG_CMD_VIDEOIN_FOCUS, cfg_video_in_focus);
             if (!bool) {
-                log.error("控制失败,请稍后重试" + getErrorCodePrint());
+                log.error("切换聚焦模式失败:" + getErrorCodePrint());
+                return AjaxResult.error("切换聚焦模式失败:" + getErrorCodePrint());
             }
-            return bool;
+            return AjaxResult.success("切换聚焦模式成功");
         } catch (Exception ex) {
             log.error("切换聚焦模式异常:" + ex.getMessage());
-            return false;
+            return AjaxResult.error("切换聚焦模式异常:" + ex.getMessage());
         }
     }
 
+    //获取聚焦模式
     @Override
-    public String getFocusMode(CameraCmd cmd) {
+    public AjaxResult getFocusMode(CameraCmd cmd) {
         String mode = "";
         String cameraId = cmd.getCameraId();
         Integer chanNo = cmd.getChanNo();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return "";
+            return AjaxResult.error("设备未登录");
         }
         LLong loginId = (LLong) GlobalVariable.loginMap.get(cameraId);
         try {
@@ -810,10 +820,11 @@
             int emCfgOpType = NET_EM_CFG_OPERATE_TYPE.NET_EM_CFG_VIDEOIN_FOCUSMODE;
             boolean bool = ConfigModule.GetConfig(loginId, chanNo - 1, emCfgOpType, focusModeInfo);
             if (!bool) {
-                log.error("获取失败,请稍后重试" + getErrorCodePrint());
+                log.error("获取聚焦模式失败:" + getErrorCodePrint());
+                return AjaxResult.error("获取聚焦模式失败:" + getErrorCodePrint());
             }
-            System.out.println("配置类型:" + focusModeInfo.emCfgType);     // 具体信息,参考库里的枚举
-            System.out.println("聚焦模式:" + focusModeInfo.emFocusMode);
+            //System.out.println("配置类型:" + focusModeInfo.emCfgType);     // 具体信息,参考库里的枚举
+            //System.out.println("聚焦模式:" + focusModeInfo.emFocusMode);
             switch (focusModeInfo.emFocusMode) {
                 case 0:
                     mode = "关闭";
@@ -831,119 +842,114 @@
                     mode = "手动聚焦";
                     break;
             }
-
+            return AjaxResult.success(mode);
         } catch (Exception ex) {
             log.error("获取聚焦模式异常:" + ex.getMessage());
-
+            return AjaxResult.error("获取聚焦模式异常:" + ex.getMessage());
         }
-        return mode;
     }
 
     @Override
-    public boolean controlPTHeateRpwron(CameraCmd cmd) {
-        return false;
+    public AjaxResult controlPTHeateRpwron(CameraCmd cmd) {
+        return AjaxResult.success("该功能未实现");
     }
 
     @Override
-    public boolean controlCameraDeicing(CameraCmd cmd) {
-        return false;
+    public AjaxResult controlCameraDeicing(CameraCmd cmd) {
+        return AjaxResult.success("该功能未实现");
     }
 
     @Override
-    public int getPTZLockInfo(CameraCmd cmd) {
-        return 0;
+    public AjaxResult getPTZLockInfo(CameraCmd cmd) {
+        return AjaxResult.success("该功能未实现");
     }
 
     @Override
-    public String captureJPEGPicture(CameraCmd cmd) {
-        return null;
+    public AjaxResult captureJPEGPicture(CameraCmd cmd) {
+        return AjaxResult.success("该功能未实现");
     }
 
-    //透雾
+    //切换透雾
     @Override
-    public boolean controlDefogcfg(CameraCmd cmd) {
+    public AjaxResult controlDefogcfg(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer chanNo = cmd.getChanNo();
         boolean enable = cmd.isEnable();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return false;
+            return AjaxResult.error("设备未登录");
         }
         LLong loginId = (LLong) GlobalVariable.loginMap.get(cameraId);
         try {
             String command = EM_NEW_CONFIG.CFG_CMD_VIDEOINDEFOG.getValue();
-            //CFG_VIDEOINDEFOG_LIST cfg_videoindefog_list=new CFG_VIDEOINDEFOG_LIST();
-            boolean bool = ConfigModule.SetDevConfig(loginId, chanNo - 1, command, null);
+            NET_VIDEOIN_DEFOG_INFO netVideoinDefogInfo = new NET_VIDEOIN_DEFOG_INFO();
+            boolean bool = ConfigModule.SetDevConfig(loginId, chanNo - 1, command, netVideoinDefogInfo);
             if (!bool) {
-                log.error("控制失败,请稍后重试" + getErrorCodePrint());
+                log.error("切换透雾失败:" + getErrorCodePrint());
+                return AjaxResult.error("切换透雾失败:" + getErrorCodePrint());
             }
-            return bool;
+            return AjaxResult.success("切换透雾成功");
         } catch (Exception ex) {
-            log.error("切换透雾异常:" + ex.getMessage());
-            return false;
+            return AjaxResult.error("切换透雾异常:" + ex.getMessage());
         }
     }
 
-    //红外
+    //切换红外
     @Override
-    public boolean controlInfrarecfg(CameraCmd cmd) {
+    public AjaxResult controlInfrarecfg(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer chanNo = cmd.getChanNo();
-        boolean enable = cmd.isEnable();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return false;
+            return AjaxResult.error("设备未登录");
         }
         LLong loginId = (LLong) GlobalVariable.loginMap.get(cameraId);
         try {
-            CFG_LIGHTING_INFO cfg_lighting_info = new CFG_LIGHTING_INFO();
-            cfg_lighting_info.nLightingDetailNum = 1;
-            if (enable) {
-                cfg_lighting_info.stuLightingDetail[0].emMode = EM_CFG_LIGHTING_MODE.EM_CFG_LIGHTING_MODE_MANUAL;
-            } else {
-                cfg_lighting_info.stuLightingDetail[0].emMode = EM_CFG_LIGHTING_MODE.EM_CFG_LIGHTING_MODE_OFF;
-            }
-            boolean bool = ConfigModule.SetDevConfig(loginId, chanNo - 1, CFG_CMD_LIGHTING, cfg_lighting_info);
+            CFG_INFRARED_INFO cfg_infrared_info = new CFG_INFRARED_INFO();
+            boolean bool = ConfigModule.SetDevConfig(loginId, chanNo - 1, CFG_CMD_INFRARED_CONFIG, cfg_infrared_info);
             if (!bool) {
-                log.error("控制失败,请稍后重试" + getErrorCodePrint());
+                log.error("切换红外失败:" + getErrorCodePrint());
+                return AjaxResult.error("切换红外失败:" + getErrorCodePrint());
             }
-            return bool;
+            return AjaxResult.success("切换红外成功");
         } catch (Exception ex) {
-            log.error("切换红外异常:" + ex.getMessage());
-            return false;
+            return AjaxResult.error("切换红外异常:" + getErrorCodePrint());
         }
     }
 
     //获取聚焦值
     @Override
-    public int getFocusPos(CameraCmd cmd) {
+    public AjaxResult getFocusPos(CameraCmd cmd) {
         int result = 0;
         try {
             String cameraId = cmd.getCameraId();
             Integer chanNo = cmd.getChanNo();
             if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-                return result;
+                return AjaxResult.error("设备未登录");
             }
             LLong loginId = (LLong) GlobalVariable.loginMap.get(cameraId);
             NET_PTZ_LOCATION_INFO net_ptz_location_info = new NET_PTZ_LOCATION_INFO();
             net_ptz_location_info.nChannelID = chanNo - 1;
             boolean bool = ConfigModule.queryDevState(loginId, NET_DEVSTATE_PTZ_LOCATION, net_ptz_location_info);
             if (!bool) {
-                log.error("控制失败,请稍后重试" + getErrorCodePrint());
+                log.error("获取聚焦值失败:" + getErrorCodePrint());
+                return AjaxResult.error("获取聚焦值失败:" + getErrorCodePrint());
             }
             result = net_ptz_location_info.nFocusMapValue;
+            return AjaxResult.success(result);
         } catch (Exception ex) {
             log.error("获取聚焦值异常:" + ex.getMessage());
+            return AjaxResult.error("获取聚焦值异常:" + getErrorCodePrint());
         }
-        return result;
+
     }
 
     //设置聚焦值
     @Override
-    public boolean setFocusPos(CameraCmd cmd) {
+    public AjaxResult setFocusPos(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer chanNo = cmd.getChanNo();
         boolean enable = cmd.isEnable();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return false;
+            return AjaxResult.error("设备未登录");
         }
         LLong loginId = (LLong) GlobalVariable.loginMap.get(cameraId);
         try {
@@ -956,12 +962,13 @@
             }
             boolean bool = ConfigModule.SetDevConfig(loginId, chanNo - 1, CFG_CMD_LIGHTING, cfg_lighting_info);
             if (!bool) {
-                log.error("控制失败,请稍后重试" + getErrorCodePrint());
+                log.error("设置聚焦值失败:" + getErrorCodePrint());
+                return AjaxResult.error("设置聚焦值失败:" + getErrorCodePrint());
             }
-            return bool;
+            return AjaxResult.success("设置聚焦值成功");
         } catch (Exception ex) {
             log.error("设置聚焦值异常:" + ex.getMessage());
-            return false;
+            return AjaxResult.error("设置聚焦值失败:" + ex.getMessage());
         }
     }
 
@@ -1033,30 +1040,32 @@
         return map;
     }
 
-    //获取GIS信息数据
+    //获取云台可视域
     @Override
-    public Map<String, Object> getGisInfo(CameraCmd cmd) {
-        Map<String, Object> map = new HashMap<>();
+    public AjaxResult getGisInfo(CameraCmd cmd) {
         try {
             String cameraId = cmd.getCameraId();
             Integer chanNo = cmd.getChanNo();
             if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-                return null;
+                return AjaxResult.error("设备未登录");
             }
             LLong loginId = (LLong) GlobalVariable.loginMap.get(cameraId);
             DH_OUT_PTZ_VIEW_RANGE_STATUS dh_out_ptz_view_range_status = new DH_OUT_PTZ_VIEW_RANGE_STATUS();
             boolean b = ConfigModule.queryDevState(loginId, NET_DEVSTATE_PTZ_VIEW_RANGE, dh_out_ptz_view_range_status);
-            if (b) {
-                float nAngelH = (float) dh_out_ptz_view_range_status.nAngelH / 10;
-                float nAngelV = (float) dh_out_ptz_view_range_status.nAngelV / 10;
-                map = getPtz(cmd);//获取ptz
-                map.put("fHorFieldAngle", nAngelH);// 水平视场角
-                map.put("fVerFieldAngle", nAngelV);// 垂直视场角
+            if (!b) {
+                log.error("获取云台可视域失败:" + getErrorCodePrint());
+                return AjaxResult.error("获取云台可视域失败:" + getErrorCodePrint());
             }
+            float nAngelH = (float) dh_out_ptz_view_range_status.nAngelH / 10;
+            float nAngelV = (float) dh_out_ptz_view_range_status.nAngelV / 10;
+            Map<String, Object> map = getPtz(cmd);//获取ptz
+            map.put("fHorFieldAngle", nAngelH);// 水平视场角
+            map.put("fVerFieldAngle", nAngelV);// 垂直视场角
+            return AjaxResult.success(map);
         } catch (Exception ex) {
             log.error("获取云台可视域异常" + ex.getMessage());
+            return AjaxResult.error("获取云台可视域异常:" + getErrorCodePrint());
         }
-        return map;
     }
 
     // 设备断线回调: 当设备出现断线时,SDK会调用该函数
diff --git a/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/controller/HikSdkController.java b/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/controller/HikSdkController.java
index 3eea0a8..e92f0a2 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/controller/HikSdkController.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/controller/HikSdkController.java
@@ -95,7 +95,7 @@
     public @ResponseBody
     AjaxResult gotoPreset(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(sdk.gotoPreset(cmd));
+        return sdk.gotoPreset(cmd);
     }
 
     @ApiOperation("设置预置点")
@@ -105,7 +105,7 @@
     public @ResponseBody
     AjaxResult setPreset(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(sdk.setPreset(cmd));
+        return sdk.setPreset(cmd);
     }
 
     @ApiOperation("获取聚焦值")
@@ -115,8 +115,7 @@
     public @ResponseBody
     AjaxResult getFocusPos(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        int focus = sdk.getFocusPos(cmd);
-        return AjaxResult.success("获取聚焦值", focus);
+        return sdk.getFocusPos(cmd);
     }
 
     @ApiOperation("设置聚焦值")
@@ -126,7 +125,7 @@
     public @ResponseBody
     AjaxResult setFocusPos(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(sdk.setFocusPos(cmd));
+        return sdk.setFocusPos(cmd);
     }
 
     @ApiOperation("获取PTZ")
@@ -168,7 +167,7 @@
     public @ResponseBody
     AjaxResult setTargetPosition(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(sdk.guideTargetPosition(cmd));
+        return sdk.guideTargetPosition(cmd);
     }
 
 
@@ -179,7 +178,7 @@
     public @ResponseBody
     AjaxResult setZeroPTZ(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(sdk.setZeroPtz(cmd));
+        return sdk.setZeroPtz(cmd);
     }
 
 
@@ -190,7 +189,8 @@
     public @ResponseBody
     AjaxResult getPTZLockInfo(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        int byWorkMode = sdk.getPTZLockInfo(cmd);
+        AjaxResult ajaxResult = sdk.getPTZLockInfo(cmd);
+        int byWorkMode = (int)ajaxResult.get("msg");
         if (byWorkMode == 0) {
             return AjaxResult.success("云台锁定状态:解锁");
         } else if (byWorkMode == 1) {
@@ -207,7 +207,7 @@
     public @ResponseBody
     AjaxResult defogcfg(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(sdk.controlDefogcfg(cmd));
+        return sdk.controlDefogcfg(cmd);
     }
 
     @ApiOperation("红外开关")
@@ -217,7 +217,7 @@
     public @ResponseBody
     AjaxResult infrarecfg(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(sdk.controlInfrarecfg(cmd));
+        return sdk.controlInfrarecfg(cmd);
     }
 
     @ApiOperation(value = "手动/自动聚焦", notes = "true手动flase自动")
@@ -227,7 +227,7 @@
     public @ResponseBody
     AjaxResult enableFocusMode(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(sdk.controlFocusMode(cmd));
+        return sdk.controlFocusMode(cmd);
     }
 
     @ApiOperation(value = "获取聚焦模式", notes = "1手动2自动")
@@ -235,8 +235,7 @@
     public @ResponseBody
     AjaxResult getFocusMode(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        String focusMode = sdk.getFocusMode(cmd);
-        return AjaxResult.success(focusMode);
+        return sdk.getFocusMode(cmd);
     }
 
     @ApiOperation("云台加热")
@@ -246,7 +245,7 @@
     public @ResponseBody
     AjaxResult heateRpwron(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(sdk.controlPTHeateRpwron(cmd));
+        return sdk.controlPTHeateRpwron(cmd);
     }
 
 
@@ -257,15 +256,14 @@
     public @ResponseBody
     AjaxResult cameraDeicing(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(sdk.controlCameraDeicing(cmd));
+        return sdk.controlCameraDeicing(cmd);
     }
 
     @PostMapping("/captureJPEGPicture")
     public @ResponseBody
     AjaxResult captureJPEGPicture(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        String base64Str = sdk.captureJPEGPicture(cmd);
-        return toAjaxString(base64Str, "相机抓图");
+        return sdk.captureJPEGPicture(cmd);
     }
 
     @ApiOperation("相机抓图")
diff --git a/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java b/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java
index 2e09f50..48c9153 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java
@@ -388,7 +388,7 @@
         Integer speed = cmd.getSpeed();
         Integer code = cmd.getCode();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return AjaxResult.error("相机未登录");
+            return AjaxResult.error("设备未登录");
         }
         Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
         int dwStop;
@@ -456,10 +456,10 @@
         boolean bool = hCNetSDK.NET_DVR_PTZControlWithSpeed_Other(userId, channelNum, dwPTZCommand, dwStop, speed);
         if (!bool) {
             int errorCode = hCNetSDK.NET_DVR_GetLastError();
-            log.error("控制失败,请稍后重试" + errorCode);
-            return AjaxResult.error("errorCode:" + errorCode + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(errorCode));
+            log.error("控制失败: errorCode:" + errorCode + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(errorCode));
+            return AjaxResult.error("控制失败: errorCode:" + errorCode + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(errorCode));
         }
-        return AjaxResult.success();
+        return AjaxResult.success("控制成功");
     }
 
     /**
@@ -468,12 +468,12 @@
      * @param cmd 相机命令
      */
     @Override
-    public boolean setFocusPos(CameraCmd cmd) {
+    public AjaxResult setFocusPos(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChanNo();
         Integer dwFocusPos = cmd.getDwFocusPos();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return false;
+            return AjaxResult.error("设备未登录");
         }
         // 获取参数
         Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
@@ -491,10 +491,9 @@
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
             log.error("设置GIS信息数据失败,请稍后重试" + code);
-            return false;
-        } else {
-            return true;
+            return AjaxResult.error("设置GIS信息数据失败: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code));
         }
+        return AjaxResult.success("设置GIS信息数据成功");
     }
 
     /**
@@ -503,12 +502,11 @@
      * @param cmd 相机命令
      */
     @Override
-    public int getFocusPos(CameraCmd cmd) {
-        int result = 0;
+    public AjaxResult getFocusPos(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChanNo();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return result;
+            return AjaxResult.error("设备未登录");
         }
         // 获取参数
         Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
@@ -524,13 +522,12 @@
         boolean bool = hCNetSDK.NET_DVR_GetSTDConfig(userId, NET_DVR_GET_GISINFO, struStdCfg);
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.error("获取GIS信息数据失败,请稍后重试" + code);
-            return result;
-        } else {
-            struGisInfo.read();
-            result = struGisInfo.struPtzPosEx.dwFocus;
+            log.error("获取聚焦值失败: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code));
+            return AjaxResult.error("获取聚焦值失败: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code));
         }
-        return result;
+        struGisInfo.read();
+        int result = struGisInfo.struPtzPosEx.dwFocus;
+        return AjaxResult.success(result);
     }
 
     /**
@@ -539,20 +536,21 @@
      * @param cmd 相机命令
      */
     @Override
-    public boolean setPreset(CameraCmd cmd) {
+    public AjaxResult setPreset(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChanNo();
         Integer PresetIndex = cmd.getPresetIndex();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return false;
+            return AjaxResult.error("设备未登录");
         }
         Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
         boolean bool = hCNetSDK.NET_DVR_PTZPreset_Other(userId, channelNum, SET_PRESET, PresetIndex);
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.error("预置点设置失败,请稍后重试" + code);
+            log.error("预置点设置失败: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code));
+            return AjaxResult.error("预置点设置失败: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code));
         }
-        return bool;
+        return AjaxResult.success("预置点设置成功");
     }
 
     /**
@@ -561,20 +559,21 @@
      * @param cmd 相机命令
      */
     @Override
-    public boolean gotoPreset(CameraCmd cmd) {
+    public AjaxResult gotoPreset(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChanNo();
         Integer PresetIndex = cmd.getPresetIndex();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return false;
+            return AjaxResult.error("设备未登录");
         }
         Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
         boolean bool = hCNetSDK.NET_DVR_PTZPreset_Other(userId, channelNum, GOTO_PRESET, PresetIndex);
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.error("预置点设置失败,请稍后重试" + code);
+            log.error("调用预置点失败: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code));
+            return AjaxResult.error("调用预置点失败: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code));
         }
-        return bool;
+        return AjaxResult.success("调用预置点成功");
     }
 
     /**
@@ -897,11 +896,11 @@
      * @创建时间 2023/1/17 16:36
      * @修改人和其它信息
      */
-    public Map<String, Object> getPtz1(CameraCmd cmd) {
+    public AjaxResult getPtz(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChanNo();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return new HashMap<>();
+            return AjaxResult.error("设备未登录");
         }
         Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
 
@@ -910,31 +909,30 @@
         IntByReference ibrBytesReturned = new IntByReference(0);
         m_ptzPosCurrent.write();
         boolean bool = hCNetSDK.NET_DVR_GetDVRConfig(userId, HCNetSDK.NET_DVR_GET_PTZPOS, channelNum, pioint, m_ptzPosCurrent.size(), ibrBytesReturned);
-        if (bool) {
-            m_ptzPosCurrent.read();
-            // DecimalFormat df = new DecimalFormat("0.0");//设置保留位数
-            //16进制转Integer后除10,保留小数点1位
-            //实际显示的PTZ值是获取到的十六进制值的十分之一,
-            //如获取的水平参数P的值是0x1750,实际显示的P值为175度;
-            //获取到的垂直参数T的值是0x0789,实际显示的T值为78.9度;
-            //获取到的变倍参数Z的值是0x1100,实际显示的Z值为110倍。
-            BigDecimal b = new BigDecimal((float) Integer.parseInt(Integer.toHexString(m_ptzPosCurrent.wPanPos)) / 10);
-            BigDecimal c = new BigDecimal((float) Integer.parseInt(Integer.toHexString(m_ptzPosCurrent.wTiltPos)) / 10);
-            BigDecimal d = new BigDecimal((float) Integer.parseInt(Integer.toHexString(m_ptzPosCurrent.wZoomPos)) / 10);
-            double p = b.setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue();
-            double t = c.setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue();
-            double z = d.setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue();
-            //log.debug("T垂直参数为: " + p + "P水平参数为: " + t + "Z变倍参数为: " + z);
-            Map<String, Object> ptzMap = new HashMap<>();
-            ptzMap.put("p", p);
-            ptzMap.put("t", t);
-            ptzMap.put("z", z);
-            return ptzMap;
-        } else {
+        if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.error("控制失败,请稍后重试" + code);
-            return new HashMap<>();
+            log.error("获取ptz失败: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code));
+            return AjaxResult.error("获取ptz失败: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code));
         }
+        m_ptzPosCurrent.read();
+        // DecimalFormat df = new DecimalFormat("0.0");//设置保留位数
+        //16进制转Integer后除10,保留小数点1位
+        //实际显示的PTZ值是获取到的十六进制值的十分之一,
+        //如获取的水平参数P的值是0x1750,实际显示的P值为175度;
+        //获取到的垂直参数T的值是0x0789,实际显示的T值为78.9度;
+        //获取到的变倍参数Z的值是0x1100,实际显示的Z值为110倍。
+        BigDecimal b = new BigDecimal((float) Integer.parseInt(Integer.toHexString(m_ptzPosCurrent.wPanPos)) / 10);
+        BigDecimal c = new BigDecimal((float) Integer.parseInt(Integer.toHexString(m_ptzPosCurrent.wTiltPos)) / 10);
+        BigDecimal d = new BigDecimal((float) Integer.parseInt(Integer.toHexString(m_ptzPosCurrent.wZoomPos)) / 10);
+        double p = b.setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue();
+        double t = c.setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue();
+        double z = d.setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue();
+        //log.debug("T垂直参数为: " + p + "P水平参数为: " + t + "Z变倍参数为: " + z);
+        Map<String, Object> ptzMap = new HashMap<>();
+        ptzMap.put("p", p);
+        ptzMap.put("t", t);
+        ptzMap.put("z", z);
+        return AjaxResult.success(ptzMap);
     }
 
     /**
@@ -946,13 +944,13 @@
      * @修改人和其它信息
      */
     @Override
-    public Map<String, Object> getPtz(CameraCmd cmd) {
+    public AjaxResult getPtzHigh(CameraCmd cmd) {
         Map<String, Object> ptzMap = new HashMap<>();
         try {
             String cameraId = cmd.getCameraId();
             Integer chanNo = cmd.getChanNo();
             if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-                return new HashMap<>();
+                return AjaxResult.error("设备未登录");
             }
             IntByReference pchannel = new IntByReference(chanNo);
             Pointer pChannelNum = pchannel.getPointer();
@@ -968,24 +966,26 @@
             lpConfigParam6696.write();
             boolean res = hCNetSDK.NET_DVR_GetSTDConfig(lUserID, HCNetSDK.NET_DVR_GET_PTZABSOLUTEEX, lpConfigParam6696);
             if (!res) {
-                log.error("获取高精度PTZ绝对位置配置失败,错误号:" + hCNetSDK.NET_DVR_GetLastError());
-            } else {
-                lpPTZAbsoluteEX_cfg.read();
-                //log.debug("P:" + lpPTZAbsoluteEX_cfg.struPTZCtrl.fPan + " T:" + lpPTZAbsoluteEX_cfg.struPTZCtrl.fTilt + " Z:" + lpPTZAbsoluteEX_cfg.struPTZCtrl.fZoom
-                //        + " 聚焦参数:" + lpPTZAbsoluteEX_cfg.struPTZCtrl.dwFocus + " 聚焦范围:" + lpPTZAbsoluteEX_cfg.dwFocalLen + " 水平转动速度:" + lpPTZAbsoluteEX_cfg.fHorizontalSpeed
-                //        + " 垂直转动速度:" + lpPTZAbsoluteEX_cfg.fVerticalSpeed + " 镜头变倍配置类型:" + lpPTZAbsoluteEX_cfg.byZoomType);
-                float p = lpPTZAbsoluteEX_cfg.struPTZCtrl.fPan;
-                float fTilt = lpPTZAbsoluteEX_cfg.struPTZCtrl.fTilt;
-                float t = fTilt < 0 ? fTilt + 360 : fTilt;
-                float z = lpPTZAbsoluteEX_cfg.struPTZCtrl.fZoom;
-                ptzMap.put("p", p);
-                ptzMap.put("t", t);
-                ptzMap.put("z", z);
+                int code = hCNetSDK.NET_DVR_GetLastError();
+                log.error("获取高精度PTZ绝对位置配置失败: errorCde" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code));
+                return AjaxResult.error("获取高精度PTZ绝对位置配置失败: errorCde" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code));
             }
+            lpPTZAbsoluteEX_cfg.read();
+            //log.debug("P:" + lpPTZAbsoluteEX_cfg.struPTZCtrl.fPan + " T:" + lpPTZAbsoluteEX_cfg.struPTZCtrl.fTilt + " Z:" + lpPTZAbsoluteEX_cfg.struPTZCtrl.fZoom
+            //        + " 聚焦参数:" + lpPTZAbsoluteEX_cfg.struPTZCtrl.dwFocus + " 聚焦范围:" + lpPTZAbsoluteEX_cfg.dwFocalLen + " 水平转动速度:" + lpPTZAbsoluteEX_cfg.fHorizontalSpeed
+            //        + " 垂直转动速度:" + lpPTZAbsoluteEX_cfg.fVerticalSpeed + " 镜头变倍配置类型:" + lpPTZAbsoluteEX_cfg.byZoomType);
+            float p = lpPTZAbsoluteEX_cfg.struPTZCtrl.fPan;
+            float fTilt = lpPTZAbsoluteEX_cfg.struPTZCtrl.fTilt;
+            float t = fTilt < 0 ? fTilt + 360 : fTilt;
+            float z = lpPTZAbsoluteEX_cfg.struPTZCtrl.fZoom;
+            ptzMap.put("p", p);
+            ptzMap.put("t", t);
+            ptzMap.put("z", z);
+            return AjaxResult.success(ptzMap);
         } catch (Exception ex) {
             log.error("获取高精度PTZ绝对位置异常:" + ex.getMessage());
+            return AjaxResult.error("获取高精度PTZ绝对位置异常:" + ex.getMessage());
         }
-        return ptzMap;
     }
 
     /**
@@ -998,7 +998,7 @@
      */
     @Override
     @SdkOperate
-    public AjaxResult setPtz1(CameraCmd cmd) {
+    public AjaxResult setPtz(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChanNo();
         Map<String, Double> ptz = cmd.getPtzMap();
@@ -1020,10 +1020,10 @@
             boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_PTZPOS, channelNum, point, m_ptzPosCurrent.size());
             if (!bool) {
                 int errorCode = hCNetSDK.NET_DVR_GetLastError();
-                log.error("设置PTZ参数失败,请稍后重试:" + errorCode);
-                return AjaxResult.error("errorCode:" + errorCode + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(errorCode));
+                log.error("设置PTZ参数失败:" + errorCode);
+                return AjaxResult.error("设置PTZ参数失败: errorCode:" + errorCode + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(errorCode));
             }
-            return AjaxResult.success();
+            return AjaxResult.success("设置PTZ参数成功");
         } catch (Exception ex) {
             log.error(ex.getMessage());
             return AjaxResult.error("设置PTZ参数异常:" + ex.getMessage());
@@ -1040,7 +1040,7 @@
      */
     @Override
     @SdkOperate
-    public AjaxResult setPtz(CameraCmd cmd) {
+    public AjaxResult setPtzHigh(CameraCmd cmd) {
         try {
             String cameraId = cmd.getCameraId();
             Integer chanNo = cmd.getChanNo();
@@ -1079,10 +1079,10 @@
             boolean bool = hCNetSDK.NET_DVR_SetSTDConfig(lUserID, NET_DVR_SET_PTZABSOLUTEEX, lpConfigParam6697);
             if (!bool) {
                 int errorCode = hCNetSDK.NET_DVR_GetLastError();
-                log.error("设置高精度PTZ参数失败,请稍后重试:" + errorCode);
-                return AjaxResult.error("errorCode:" + errorCode + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(errorCode));
+                log.error("设置高精度PTZ参数失败:" + errorCode);
+                return AjaxResult.error("设置高精度PTZ参数失败: errorCode:" + errorCode + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(errorCode));
             }
-            return AjaxResult.success();
+            return AjaxResult.success("设置高精度PTZ参数成功");
 
         } catch (Exception ex) {
             log.error("设置高精度PTZ参数异常", ex);
@@ -1092,11 +1092,11 @@
 
     @Override
     @SdkOperate
-    public boolean guideTargetPosition(CameraCmd cmd) {
+    public AjaxResult guideTargetPosition(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer chanNo = cmd.getChanNo();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return false;
+            return AjaxResult.error("设备未登录");
         }
         Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
         NET_DVR_PTZPOS m_ptzPosCurrent = new NET_DVR_PTZPOS();
@@ -1118,11 +1118,12 @@
             if (!bool) {
                 int code = hCNetSDK.NET_DVR_GetLastError();
                 log.error("设置ptz失败,请稍后重试" + code);
+                return AjaxResult.error("设置ptz失败: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code));
             }
-            return bool;
+            return AjaxResult.success("引导坐标成功");
         } catch (Exception ex) {
-            log.error("引导异常:" + ex.getMessage());
-            return false;
+            log.error("引导坐标异常:" + ex.getMessage());
+            return AjaxResult.error("引导坐标异常:" + ex.getMessage());
         }
     }
 
@@ -1135,11 +1136,11 @@
      * @创建时间 2023/1/17 16:36
      * @修改人和其它信息 0-解锁 1-锁定
      */
-    public int getPTZLockInfo(CameraCmd cmd) {
+    public AjaxResult getPTZLockInfo(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChanNo();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return -1;
+            return AjaxResult.error("设备未登录");
         }
         Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
         NET_DVR_PTZ_LOCKCFG netDvrPtzLockcfg = new NET_DVR_PTZ_LOCKCFG();
@@ -1149,11 +1150,12 @@
         boolean bool = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_PTZLOCKCFG, channelNum, point, netDvrPtzLockcfg.size(), ibrBytesReturned);
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.error("获取ptz锁定信息失败,请稍后重试" + code);
-            return -1;
+            log.error("获取ptz锁定信息失败: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code));
+            return AjaxResult.error("获取ptz锁定信息失败: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code));
         } else {
             netDvrPtzLockcfg.read();
-            return netDvrPtzLockcfg.byWorkMode;
+            int byWorkMode = netDvrPtzLockcfg.byWorkMode;
+            return AjaxResult.success(byWorkMode);
         }
     }
 
@@ -1167,11 +1169,11 @@
      */
     @Override
     @SdkOperate
-    public boolean setZeroPtz(CameraCmd cmd) {
+    public AjaxResult setZeroPtz(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChanNo();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return false;
+            return AjaxResult.error("设备未登录");
         }
         Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
         NET_DVR_INITIALPOSITIONCTRL initialpositionctrl = new NET_DVR_INITIALPOSITIONCTRL();
@@ -1184,10 +1186,11 @@
         initialpositionctrl.write();
         boolean bool = hCNetSDK.NET_DVR_RemoteControl(userId, NET_DVR_PTZ_INITIALPOSITIONCTRL, point, initialpositionctrl.size());
         if (!bool) {
-            int i = hCNetSDK.NET_DVR_GetLastError();
-            log.error("错误码:" + i);
+            int code = hCNetSDK.NET_DVR_GetLastError();
+            log.error("设置零方位角失败:" + code);
+            return AjaxResult.error("设置零方位角失败: errorCode:" + code + "errorInfo:" + SdkErrorCodeEnum.getDescByCode(code));
         }
-        return bool;
+        return AjaxResult.success();
     }
 
     /**
@@ -1199,11 +1202,11 @@
      * @修改人和其它信息
      */
     @Override
-    public Map<String, Object> getPtzScope(CameraCmd cmd) {
+    public AjaxResult getPtzScope(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChanNo();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return new HashMap<>();
+            return AjaxResult.error("设备未登录");
         }
         Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
         NET_DVR_PTZSCOPE m_ptzPosCurrent = new NET_DVR_PTZSCOPE();
@@ -1213,8 +1216,8 @@
         boolean bool = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_PTZSCOPE, channelNum, point, m_ptzPosCurrent.size(), ibrBytesReturned);
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.error("设置ptz失败,请稍后重试" + code);
-            return new HashMap<>();
+            log.error("获取ptz范围失败: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code));
+            return AjaxResult.error("获取ptz范围失败: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code));
         } else {
             m_ptzPosCurrent.read();
             DecimalFormat df = new DecimalFormat("0.0");//设置保留位数
@@ -1232,13 +1235,12 @@
             ptzScopeMap.put("tMin", wTiltPosMin);
             ptzScopeMap.put("zMax", wZoomPosMax);
             ptzScopeMap.put("zMin", wZoomPosMin);
-            return ptzScopeMap;
+            return AjaxResult.success(ptzScopeMap);
         }
-
     }
 
     /**
-     * @描述 透雾开关
+     * @描述 切换透雾
      * @参数 [userId, channelNum, enable]
      * @返回值 boolean
      * @创建人 刘苏义
@@ -1246,12 +1248,12 @@
      * @修改人和其它信息
      */
     @Override
-    public boolean controlDefogcfg(CameraCmd cmd) {
+    public AjaxResult controlDefogcfg(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         boolean enable = cmd.isEnable();
         Integer channelNum = cmd.getChanNo();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return false;
+            return AjaxResult.error("设备未登录");
         }
         Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
         NET_DVR_CAMERAPARAMCFG_EX struCameraParam = new NET_DVR_CAMERAPARAMCFG_EX();
@@ -1259,7 +1261,9 @@
         IntByReference ibrBytesReturned = new IntByReference(0);
         boolean b_GetCameraParam = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_CCDPARAMCFG_EX, channelNum, point, struCameraParam.size(), ibrBytesReturned);
         if (!b_GetCameraParam) {
-            log.error("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
+            int code = hCNetSDK.NET_DVR_GetLastError();
+            log.error("获取前端参数失败: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code));
+            return AjaxResult.error("获取前端参数失败: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code));
         }
         struCameraParam.read();
         log.debug("是否开启透雾:" + struCameraParam.struDefogCfg.byMode);
@@ -1276,14 +1280,15 @@
         boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_CCDPARAMCFG_EX, channelNum, point, struCameraParam.size());
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.error("设置透雾失败,请稍后重试" + code);
+            log.error("切换透雾失败: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code));
+            return AjaxResult.error("切换透雾失败: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code));
         }
-        log.debug("设置透雾成功");
-        return bool;
+        log.debug("切换透雾成功");
+        return AjaxResult.success("切换透雾成功");
     }
 
     /**
-     * @描述 红外开关
+     * @描述 切换红外
      * @参数 [userId, channelNum, enable]
      * @返回值 boolean
      * @创建人 刘苏义
@@ -1291,12 +1296,12 @@
      * @修改人和其它信息
      */
     @Override
-    public boolean controlInfrarecfg(CameraCmd cmd) {
+    public AjaxResult controlInfrarecfg(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         boolean enable = cmd.isEnable();
         Integer chanNo = cmd.getChanNo();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return false;
+            return AjaxResult.error("设备未登录");
         }
         Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
         NET_DVR_CAMERAPARAMCFG_EX struDayNigh = new NET_DVR_CAMERAPARAMCFG_EX();
@@ -1304,7 +1309,9 @@
         IntByReference ibrBytesReturned = new IntByReference(0);
         boolean b_GetCameraParam = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_CCDPARAMCFG, chanNo, point, struDayNigh.size(), ibrBytesReturned);
         if (!b_GetCameraParam) {
-            log.error("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
+            int code = hCNetSDK.NET_DVR_GetLastError();
+            log.error("获取前端参数失败: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code));
+            return AjaxResult.error("获取前端参数失败: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code));
         }
         struDayNigh.read();
         String current = struDayNigh.struDayNight.byDayNightFilterType == 1 ? "开启" : "关闭";
@@ -1323,12 +1330,11 @@
         boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_CCDPARAMCFG, chanNo, point, struDayNigh.size());
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.error("设置夜视失败 ErrorCode:{},ErrorInfo:{}",code, SdkErrorCodeEnum.getDescByCode(code));
-        } else {
-            log.debug("设置夜视成功");
+            log.error("切换红外失败 ErrorCode:{},ErrorInfo:{}", code, SdkErrorCodeEnum.getDescByCode(code));
+            return AjaxResult.error("切换红外失败: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code));
         }
-
-        return bool;
+        log.debug("切换红外成功");
+        return AjaxResult.success("切换红外成功");
     }
 
     /**
@@ -1340,12 +1346,12 @@
      * @修改人和其它信息
      */
     @Override
-    public boolean controlFocusMode(CameraCmd cmd) {
+    public AjaxResult controlFocusMode(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         boolean enable = cmd.isEnable();
         Integer channelNum = cmd.getChanNo();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return false;
+            return AjaxResult.error("设备未登录");
         }
         Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
         NET_DVR_FOCUSMODE_CFG struFocusMode = new NET_DVR_FOCUSMODE_CFG();
@@ -1353,7 +1359,9 @@
         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) {
-            log.error("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
+            int code = hCNetSDK.NET_DVR_GetLastError();
+            log.error("获取前端参数失败: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code));
+            return AjaxResult.error("获取前端参数失败: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code));
         }
         struFocusMode.read();
         log.debug("当前聚焦模式:" + struFocusMode.byFocusMode);
@@ -1370,10 +1378,11 @@
         boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_FOCUSMODECFG, channelNum, point, struFocusMode.size());
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.error("设置聚焦模式失败,请稍后重试" + code);
+            log.error("设置聚焦模式失败: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code));
+            return AjaxResult.error("设置聚焦模式失败: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code));
         }
         log.debug("设置聚焦模式成功");
-        return bool;
+        return AjaxResult.success("设置聚焦模式成功");
     }
 
     /**
@@ -1384,11 +1393,11 @@
      * @创建时间 2023/1/18 13:07
      * @修改人和其它信息
      */
-    public String getFocusMode(CameraCmd cmd) {
+    public AjaxResult getFocusMode(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChanNo();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return "";
+            return AjaxResult.error("设备未登录");
         }
         Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
         NET_DVR_FOCUSMODE_CFG struFocusMode = new NET_DVR_FOCUSMODE_CFG();
@@ -1396,11 +1405,13 @@
         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) {
-            log.error("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
+            int code = hCNetSDK.NET_DVR_GetLastError();
+            log.error("获取前端参数失败: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code));
+            return AjaxResult.error("获取前端参数失败: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code));
         }
         struFocusMode.read();
         log.debug("当前聚焦模式:" + struFocusMode.byFocusMode);
-        return String.valueOf(struFocusMode.byFocusMode);
+        return AjaxResult.success(struFocusMode.byFocusMode);
     }
 
     /**
@@ -1412,12 +1423,12 @@
      * @修改人和其它信息
      */
     @Override
-    public boolean controlPTHeateRpwron(CameraCmd cmd) {
+    public AjaxResult controlPTHeateRpwron(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         boolean enable = cmd.isEnable();
         Integer channelNum = cmd.getChanNo();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return false;
+            return AjaxResult.error("设备未登录");
         }
         Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
         int dwStop;
@@ -1429,10 +1440,11 @@
         boolean bool = hCNetSDK.NET_DVR_PTZControl_Other(userId, channelNum, HEATER_PWRON, dwStop);
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.error("设置云台加热失败,请稍后重试" + code);
+            log.error("设置云台加热失败: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code));
+            return AjaxResult.error("设置云台加热失败: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code));
         }
         log.debug("设置云台加热成功");
-        return bool;
+        return AjaxResult.success("设置云台加热成功");
     }
 
     /**
@@ -1444,12 +1456,12 @@
      * @修改人和其它信息
      */
     @Override
-    public boolean controlCameraDeicing(CameraCmd cmd) {
+    public AjaxResult controlCameraDeicing(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         boolean enable = cmd.isEnable();
         Integer channelNum = cmd.getChanNo();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return false;
+            return AjaxResult.error("设备未登录");
         }
         Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
         NET_DVR_DEVSERVER_CFG struDeicing = new NET_DVR_DEVSERVER_CFG();
@@ -1457,7 +1469,9 @@
         IntByReference ibrBytesReturned = new IntByReference(0);
         boolean b_GetCameraParam = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_DEVSERVER_CFG, channelNum, point, struDeicing.size(), ibrBytesReturned);
         if (!b_GetCameraParam) {
-            log.error("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
+            int code = hCNetSDK.NET_DVR_GetLastError();
+            log.error("获取前端参数失败: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code));
+            return AjaxResult.error("获取前端参数失败: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code));
         }
         struDeicing.read();
         log.debug("是否开启除冰:" + struDeicing.byEnableDeicing);
@@ -1471,10 +1485,11 @@
         boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_DEVSERVER_CFG, channelNum, point, struDeicing.size());
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.error("设置镜头除冰失败,请稍后重试" + code);
+            log.error("设置镜头除冰失败: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code));
+            return AjaxResult.error("设置镜头除冰失败: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code));
         }
         log.debug("设置镜头除冰成功");
-        return bool;
+        return AjaxResult.success("设置镜头除冰成功");
     }
 
     /**
@@ -1482,17 +1497,18 @@
      *
      * @param cmd 相机命令
      */
-    public String captureJPEGPicture(CameraCmd cmd) {
+    public AjaxResult captureJPEGPicture(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChanNo();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return "";
+            return AjaxResult.error("设备未登录");
         }
         Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
         NET_DVR_WORKSTATE_V30 devwork = new NET_DVR_WORKSTATE_V30();
         if (!hCNetSDK.NET_DVR_GetDVRWorkState_V30(userId, devwork)) {
-            // 返回Boolean值,判断是否获取设备能力
-            log.error("抓图失败,请稍后重试");
+            int code = hCNetSDK.NET_DVR_GetLastError();
+            log.error("获取设备工作状态失败: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code));
+            return AjaxResult.error("获取设备工作状态失败: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code));
         }
         //图片质量
         NET_DVR_JPEGPARA jpeg = new NET_DVR_JPEGPARA();
@@ -1512,7 +1528,7 @@
         String png_base64 = decoder.encodeToString(jpegBuffer.array());//转换成base64串
         png_base64 = png_base64.replaceAll("\n", "").replaceAll("\r", "");//删除 \r\n
         log.debug("-----------处理完成截图数据----------");
-        return png_base64;
+        return AjaxResult.success(png_base64);
     }
 
     /**
@@ -1878,11 +1894,11 @@
      * @修改人和其它信息 0-解锁 1-锁定
      */
     @Override
-    public Map<String, Object> getGisInfo(CameraCmd cmd) {
+    public AjaxResult getGisInfo(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChanNo();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return new HashMap<>();
+            return AjaxResult.error("设备未登录");
         }
         // 获取参数
         Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
@@ -1898,9 +1914,9 @@
         boolean bool = hCNetSDK.NET_DVR_GetSTDConfig(userId, NET_DVR_GET_GISINFO, struStdCfg);
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.error("获取GIS信息数据失败,请稍后重试" + code);
-            return new HashMap<>();
-        } else {
+            log.error("获取GIS信息数据失败: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code));
+            return AjaxResult.error("获取GIS信息数据失败: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code));
+        }
             struGisInfo.read();
             Map<String, Object> map = new HashMap<>();
             map.put("p", struGisInfo.struPtzPos.fPanPos);
@@ -1908,7 +1924,7 @@
             map.put("z", struGisInfo.struPtzPos.fZoomPos);
             map.put("fHorFieldAngle", struGisInfo.fHorizontalValue);// 水平视场角
             map.put("fVerFieldAngle", struGisInfo.fVerticalValue);// 垂直视场角
-            return map;
-        }
+            return AjaxResult.success(map);
+
     }
 }
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/SdkOperateAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/SdkOperateAspect.java
index bf0718e..b96c19a 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/SdkOperateAspect.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/SdkOperateAspect.java
@@ -1,5 +1,6 @@
 package com.ruoyi.framework.aspectj;
 
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.core.redis.RedisCache;
@@ -49,10 +50,11 @@
         Boolean result = controlScopeFilter(point);
         if (result) {
             log.debug("已获取相机控制权--" + method.getName());
+            // 执行目标方法
             return point.proceed();
         } else {
             log.debug("未获取相机控制权--" + method.getName());
-            return false;//代替目标方法的返回值
+            return AjaxResult.error("未获取相机控制权--" + method.getName());//代替目标方法的返回值
         }
     }
 
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java
index 5ed9959..6363c40 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java
@@ -2,6 +2,7 @@
 
 import com.ruoyi.alarm.global.service.IGlobalAlarmService;
 import com.ruoyi.common.constant.CacheConstants;
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.utils.DateUtils;
@@ -88,7 +89,8 @@
                     {
                         continue;
                     }
-                    Map<String, Object> ptz = cameraSdkService.getGisInfo(cmd);
+                    AjaxResult ajaxResult = cameraSdkService.getGisInfo(cmd);
+                    Map<String, Object> ptz = (Map<String, Object>)ajaxResult.get("data");
                     if (StringUtils.isNull(ptz)) {
                         continue;
                     }
@@ -129,4 +131,4 @@
             log.error("推送ptz异常:" + ex.getMessage());
         }
     }
-}
\ No newline at end of file
+}

--
Gitblit v1.9.3