From 1ca9656140c41165459dfb6f6b7606b3aa6a8747 Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: Wed, 24 Jul 2024 15:05:13 +0800
Subject: [PATCH] 三一车辆查询加入关联后bug修改提交
---
ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java | 368 +++++++++++++++++++++++++++++++---------------------
1 files changed, 220 insertions(+), 148 deletions(-)
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 8f1a9b0..0209056 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
@@ -18,18 +18,22 @@
import com.ruoyi.device.camera.factory.CameraSDKFactory;
import com.ruoyi.device.noguidezone.domain.ArdCameraNoGuideZone;
import com.ruoyi.device.noguidezone.service.IArdCameraNoGuideZoneService;
+import com.ruoyi.device.terrain.domain.ArdTerrainMark;
+import com.ruoyi.device.terrain.service.IArdTerrainMarkService;
import com.ruoyi.utils.gis.GisUtil;
import com.ruoyi.utils.gis.Point;
import com.ruoyi.utils.sdk.common.GlobalVariable;
import com.ruoyi.utils.tools.ArdTool;
-import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
+import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
+import java.util.stream.Collectors;
/**
@@ -39,7 +43,7 @@
* @Date: 2023年10月16日15:21:01
**/
@Service
-@Slf4j(topic = "SDK")
+@Slf4j(topic = "sdk")
public class CameraSdkServiceImpl implements ICameraSdkService, ApplicationRunner {
@Resource
private IArdCamerasService ardCamerasService;
@@ -51,6 +55,8 @@
private IArdAlarmpointsWellService ardAlarmpointsWellService;
@Resource
private IArdCameraNoGuideZoneService ardCameraNoGuideZoneService;
+ @Resource
+ private IArdTerrainMarkService ardTerrainMarkService;
/**
* 启动线程方法,用于执行初始化登录相机的逻辑
@@ -59,37 +65,45 @@
*/
@Override
public void run(ApplicationArguments args) {
-
try {
- // 从ardCamerasService中获取ArdCameras列表
+ log.info("初始化登录相机开始");
+ ardCamerasService.resetCameraLoginId();
List<ArdCameras> ardCameras = ardCamerasService.selectArdCamerasListNoDataScope(new ArdCameras());
- for (ArdCameras camera : ardCameras) {
- login(camera);
- }
+ ardCameras.stream().forEach(ardCamera -> asyncLogin(ardCamera));
} catch (Exception ex) {
- // 初始化登录相机异常,记录错误日志
log.error("初始化登录相机异常:" + ex.getMessage());
}
}
-
- //登录
+ //同步登录
@Override
- public Boolean login(ArdCameras ardCamera) {
- boolean result = false;
+ public AjaxResult login(ArdCameras ardCamera) {
try {
- if (ardCamera != null) {
- String factory = ardCamera.getFactory();
- CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
- //sdkStrategy.login(ardCamera);//同步登录
- cameraSDK.asyncLogin(ardCamera);//异步登录
- result = true;
+ if (ardCamera == null) {
+ return AjaxResult.warn("设备不存在");
}
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ return cameraSDK.login(ardCamera);//同步登录
} catch (Exception ex) {
log.error("登录异常:" + ex.getMessage());
- return false;
+ return AjaxResult.error("登录异常:" + ex.getMessage());
}
- return result;
+ }
+
+ @Override
+ public AjaxResult asyncLogin(ArdCameras ardCamera) {
+ try {
+ if (ardCamera == null) {
+ return AjaxResult.warn("设备不存在");
+ }
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ return cameraSDK.asyncLogin(ardCamera);//异步登录
+ } catch (Exception ex) {
+ log.error("登录异常:" + ex.getMessage());
+ return AjaxResult.error("登录异常:" + ex.getMessage());
+ }
}
//注销
@@ -134,13 +148,12 @@
public AjaxResult pTZControl(CameraCmd cmd) {
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);
- return cameraSDK.pTZControl(cmd);
- } else {
- return AjaxResult.error("摄像头不存在");
+ if (ardCamera == null) {
+ AjaxResult.warn("设备不存在");
}
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ return cameraSDK.pTZControl(cmd);
}
//设置聚焦值
@@ -149,13 +162,12 @@
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);
- return cameraSDK.setFocusPos(cmd);
- } else {
- return AjaxResult.error("摄像头不存在");
+ if (ardCamera == null) {
+ return AjaxResult.warn("设备不存在");
}
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ return cameraSDK.setFocusPos(cmd);
} catch (Exception ex) {
log.error("设置聚焦值异常:" + ex.getMessage());
return AjaxResult.error("设置聚焦值异常:" + ex.getMessage());
@@ -168,13 +180,12 @@
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);
- return cameraSDK.getFocusPos(cmd);
- } else {
- return AjaxResult.error("摄像头不存在");
+ if (ardCamera == null) {
+ return AjaxResult.warn("设备不存在");
}
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ return cameraSDK.getFocusPos(cmd);
} catch (Exception ex) {
log.error("获取聚焦值异常:" + ex.getMessage());
return AjaxResult.error("获取聚焦值异常:" + ex.getMessage());
@@ -187,13 +198,12 @@
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);
- return cameraSDK.setPreset(cmd);
- } else {
- return AjaxResult.error("摄像头不存在");
+ if (ardCamera == null) {
+ return AjaxResult.warn("设备不存在");
}
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ return cameraSDK.setPreset(cmd);
} catch (Exception ex) {
log.error("设置预置位异常:" + ex.getMessage());
return AjaxResult.error("设置预置位异常" + ex.getMessage());
@@ -206,13 +216,12 @@
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);
- return cameraSDK.gotoPreset(cmd);
- } else {
- return AjaxResult.error("摄像头不存在");
+ if (ardCamera == null) {
+ return AjaxResult.warn("设备不存在");
}
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ return cameraSDK.gotoPreset(cmd);
} catch (Exception ex) {
log.error("调用预置位异常:" + ex.getMessage());
return AjaxResult.error("调用预置位异常" + ex.getMessage());
@@ -226,11 +235,12 @@
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.getVideoCompressionCfg(cmd);
+ if (ardCamera == null) {
+ return new HashMap<>();
}
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ map = cameraSDK.getVideoCompressionCfg(cmd);
} catch (Exception ex) {
log.error("获取码流压缩参数异常:" + ex.getMessage());
}
@@ -243,13 +253,12 @@
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);
- return cameraSDK.controlDefogcfg(cmd);
- } else {
- return AjaxResult.error("摄像头不存在");
+ if (ardCamera == null) {
+ return AjaxResult.warn("设备不存在");
}
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ return cameraSDK.controlDefogcfg(cmd);
} catch (Exception ex) {
log.error("操控透雾异常:" + ex.getMessage());
return AjaxResult.error("操控透雾异常" + ex.getMessage());
@@ -262,13 +271,12 @@
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);
- return cameraSDK.controlInfrarecfg(cmd);
- } else {
- return AjaxResult.error("摄像头不存在");
+ if (ardCamera == null) {
+ return AjaxResult.warn("设备不存在");
}
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ return cameraSDK.controlInfrarecfg(cmd);
} catch (Exception ex) {
log.error("操控红外异常:" + ex.getMessage());
return AjaxResult.error("操控红外异常:" + ex.getMessage());
@@ -281,13 +289,12 @@
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);
- return cameraSDK.controlFocusMode(cmd);
- } else {
- return AjaxResult.error("摄像头不存在");
+ if (ardCamera == null) {
+ return AjaxResult.warn("设备不存在");
}
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ return cameraSDK.controlFocusMode(cmd);
} catch (Exception ex) {
log.error("操控聚焦模式异常:" + ex.getMessage());
return AjaxResult.error("操控聚焦模式异常:" + ex.getMessage());
@@ -300,13 +307,12 @@
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);
- return cameraSDK.getFocusMode(cmd);
- } else {
- return AjaxResult.error("摄像头不存在");
+ if (ardCamera == null) {
+ return AjaxResult.warn("设备不存在");
}
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ return cameraSDK.getFocusMode(cmd);
} catch (Exception ex) {
log.error("获取聚焦模式异常:" + ex.getMessage());
return AjaxResult.error("获取聚焦模式异常:" + ex.getMessage());
@@ -316,38 +322,33 @@
//云台加热
@Override
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);
- return cameraSDK.controlPTHeateRpwron(cmd);
- } else {
- return AjaxResult.error("摄像头不存在");
+ if (ardCamera == null) {
+ return AjaxResult.warn("设备不存在");
}
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ return cameraSDK.controlPTHeateRpwron(cmd);
} catch (Exception ex) {
log.error("操控云台加热异常:" + ex.getMessage());
return AjaxResult.error("操控云台加热异常:" + ex.getMessage());
}
-
}
//镜头加热
@Override
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);
- return cameraSDK.controlCameraDeicing(cmd);
- } else {
- return AjaxResult.error("摄像头不存在");
+ if (ardCamera == null) {
+ return AjaxResult.warn("设备不存在");
}
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ return cameraSDK.controlCameraDeicing(cmd);
} catch (Exception ex) {
log.error("操控云台加热异常:" + ex.getMessage());
return AjaxResult.error("操控云台加热异常:" + ex.getMessage());
@@ -360,22 +361,34 @@
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);
- return cameraSDK.getPTZLockInfo(cmd);
- } else {
- return AjaxResult.error("摄像头不存在");
+ if (ardCamera == null) {
+ return AjaxResult.warn("设备不存在");
}
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ return cameraSDK.getPTZLockInfo(cmd);
} catch (Exception ex) {
log.error("获取云台锁定信息异常:" + ex.getMessage());
return AjaxResult.error("获取云台锁定信息异常:" + ex.getMessage());
}
}
+ //本地抓图
@Override
- public String captureJPEGPicture(CameraCmd cmd) {
- return null;
+ public AjaxResult localCapture(CameraCmd cmd) {
+ try {
+ String cameraId = cmd.getCameraId();
+ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
+ if (ardCamera == null) {
+ return AjaxResult.warn("设备不存在");
+ }
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ return cameraSDK.localCapture(cmd);
+ } catch (Exception ex) {
+ log.error("手动抓图异常:" + ex.getMessage());
+ return AjaxResult.error("手动抓图异常:" + ex.getMessage());
+ }
}
//抓图
@@ -406,17 +419,16 @@
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);
- String gdtype = ardCamera.getGdtype();
- if (gdtype.equals("1")) {
- return cameraSDK.getPtzHigh(cmd);
- } else {
- return cameraSDK.getPtz(cmd);
- }
+ if (ardCamera == null) {
+ return AjaxResult.warn("设备不存在");
+ }
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ String gdtype = ardCamera.getGdtype();
+ if (gdtype.equals("1")) {
+ return cameraSDK.getPtzHigh(cmd);
} else {
- return AjaxResult.error("摄像头不存在");
+ return cameraSDK.getPtz(cmd);
}
} catch (Exception ex) {
log.error("获取ptz异常:" + ex.getMessage());
@@ -430,13 +442,12 @@
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);
- return cameraSDK.getPtzScope(cmd);
- } else {
- return AjaxResult.error("摄像头不存在");
+ if (ardCamera == null) {
+ return AjaxResult.warn("设备不存在");
}
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ return cameraSDK.getPtzScope(cmd);
} catch (Exception ex) {
log.error("获取ptz范围异常:" + ex.getMessage());
return AjaxResult.error("获取ptz范围异常:" + ex.getMessage());
@@ -450,7 +461,7 @@
String cameraId = cmd.getCameraId();
ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
if (ardCamera == null) {
- return AjaxResult.error("摄像头不存在");
+ return AjaxResult.warn("设备不存在");
}
CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(ardCamera.getFactory());
String gdtype = ardCamera.getGdtype();
@@ -460,10 +471,9 @@
} else {
return cameraSDK.setPtz(cmd);
}
-
} catch (Exception ex) {
log.error("设置ptz异常:" + ex.getMessage());
- return AjaxResult.error("设置ptz异常:" + ex.getMessage());
+ return AjaxResult.error("设置ptz异常:" + ex.getMessage());
}
}
@@ -473,13 +483,12 @@
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);
- return cameraSDK.setZeroPtz(cmd);
- } else {
- return AjaxResult.error("摄像头不存在");
+ if (ardCamera == null) {
+ return AjaxResult.warn("设备不存在");
}
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ return cameraSDK.setZeroPtz(cmd);
} catch (Exception ex) {
log.error("设置零方位角异常:" + ex.getMessage());
return AjaxResult.error("设置零方位角异常:" + ex.getMessage());
@@ -492,17 +501,47 @@
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);
- return cameraSDK.guideTargetPosition(cmd);
- } else {
- return AjaxResult.error("摄像头不存在");
+ if (ardCamera == null) {
+ return AjaxResult.warn("设备不存在");
}
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ return cameraSDK.guideTargetPosition(cmd);
} catch (Exception ex) {
log.error("引导指向目标异常:" + ex.getMessage());
return AjaxResult.error("引导指向目标异常:" + ex.getMessage());
}
+ }
+
+ /**
+ * @return
+ * @Author 刘苏义
+ * @Description 修正俯仰值(根据相机ID获取500米范围内的地形参数集合,计算平均值加上T值)
+ * @Date 2024/6/22 11:16
+ * @Param
+ */
+ @Override
+ public Double correctPitch(CameraCmd cmd) {
+ Double pitchAngle = 0.0;
+ try {
+ double[] targetPositions = cmd.getTargetPosition();
+ ArdTerrainMark ardTerrainMark = new ArdTerrainMark();
+ ardTerrainMark.setCameraId(cmd.getCameraId());
+ List<ArdTerrainMark> ardTerrainMarks = ardTerrainMarkService.selectArdTerrainMarkList(ardTerrainMark);
+ //过滤500米范围内的集合
+ ardTerrainMarks = ardTerrainMarks.stream().filter(n -> GisUtil.getDistance(targetPositions, new double[]{n.getLongitude(), n.getLatitude(), n.getAltitude()}) <= 500).collect(Collectors.toList());
+ //计算T平均值
+ OptionalDouble averageT = ardTerrainMarks.stream().mapToDouble(ArdTerrainMark::getT).average();
+ // 输出
+ if (averageT.isPresent()) {
+ pitchAngle = averageT.getAsDouble();
+ log.debug("修正俯仰值:" + pitchAngle);
+ }
+ } catch (Exception ex) {
+ log.error("修正俯仰值异常:" + ex.getMessage());
+
+ }
+ return pitchAngle;
}
//引导指向井
@@ -516,7 +555,7 @@
//获取井
ArdAlarmpointsWell well = ardAlarmpointsWellService.selectArdAlarmpointsWellById(cmd.getWellId());
if (well == null) {
- return AjaxResult.error("井不存在");
+ return AjaxResult.warn("井不存在");
}
GuidePoint guidePoint = new GuidePoint().setLongitude(well.getLongitude()).setLatitude(well.getLatitude());
cmd.setTargetPosition(new double[]{guidePoint.getLongitude(), guidePoint.getLatitude()});
@@ -579,15 +618,15 @@
String cameraId = getCameraByNear(new double[]{well.getLongitude(), well.getLatitude()});
cmd.setCameraId(cameraId);
if ("".equals(cameraId)) {
- return AjaxResult.error("未找到引导相机");
+ return AjaxResult.warn("未找到引导相机");
}
//判断禁引区
if (isInPolygon(cameraId, new Double[]{well.getLongitude(), well.getLatitude()})) {
- return AjaxResult.error("井位置属于相机禁止引导区域");
+ return AjaxResult.warn("井位置属于相机禁止引导区域");
}
//按井坐标开始引导
if (!guideTargetPosition(cmd).get("code").equals(200)) {
- return AjaxResult.error("井坐标引导失败", "cameraId:" + cameraId);
+ return AjaxResult.warn("井坐标引导失败", "cameraId:" + cameraId);
}
return AjaxResult.success("井坐标引导成功", "cameraId:" + cameraId);
@@ -689,9 +728,8 @@
public AjaxResult controlLock(CameraCmd cmd) {
String cameraId = cmd.getCameraId();//申请锁的相机
ArdCameras ardCameras = ardCamerasService.selectArdCamerasById(cameraId);
- if(ardCameras==null)
- {
- return AjaxResult.error("设备未登录");
+ if (ardCameras == null) {
+ return AjaxResult.warn("设备不存在");
}
Date now = new Date();
now.setTime(now.getTime() + cmd.getExpired() * 1000);
@@ -713,9 +751,8 @@
String cameraId = cmd.getCameraId();//申请解锁的相机
String operator = cmd.getOperator();//申请者
ArdCameras ardCameras = ardCamerasService.selectArdCamerasById(cameraId);
- if(ardCameras==null)
- {
- return AjaxResult.error("设备未登录");
+ if (ardCameras == null) {
+ return AjaxResult.warn("设备不存在");
}
if (ardCameras.getOperatorId().equals(operator)) {
//如果解锁相机的当前用户是申请者,则清空该相机的过期时间
@@ -808,16 +845,51 @@
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);
- return cameraSDK.getGisInfo(cmd);
- } else {
- return AjaxResult.error("相机不存在");
+ if (ardCamera == null) {
+ return AjaxResult.warn("设备不存在");
}
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ return cameraSDK.getGisInfo(cmd);
} catch (Exception ex) {
log.error("获取相机架设参数异常:" + ex.getMessage());
return AjaxResult.error("获取相机架设参数异常:" + ex.getMessage());
}
}
+
+ //本地录像开始
+ @Override
+ public AjaxResult localRecordStart(CameraCmd cmd) {
+ try {
+ String cameraId = cmd.getCameraId();
+ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
+ if (ardCamera == null) {
+ return AjaxResult.warn("设备不存在");
+ }
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ return cameraSDK.localRecordStart(cmd);
+ } catch (Exception ex) {
+ log.error("本地录像开始异常:" + ex.getMessage());
+ return AjaxResult.error("本地录像开始异常:" + ex.getMessage());
+ }
+ }
+
+ //本地录像停止
+ @Override
+ public AjaxResult localRecordStop(CameraCmd cmd) {
+ try {
+ String cameraId = cmd.getCameraId();
+ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
+ if (ardCamera == null) {
+ return AjaxResult.warn("设备不存在");
+ }
+ String factory = ardCamera.getFactory();
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+ return cameraSDK.localRecordStop(cmd);
+ } catch (Exception ex) {
+ log.error("本地录像停止异常:" + ex.getMessage());
+ return AjaxResult.error("本地录像停止异常:" + ex.getMessage());
+ }
+ }
}
--
Gitblit v1.9.3