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