| | |
| | | import org.springframework.stereotype.Service;
|
| | |
|
| | | import javax.annotation.Resource;
|
| | | import javax.servlet.http.HttpServletResponse;
|
| | | import java.util.*;
|
| | |
|
| | |
|
| | |
| | | */
|
| | | @Override
|
| | | public void run(ApplicationArguments args) {
|
| | |
|
| | | try {
|
| | | // 从ardCamerasService中获取ArdCameras列表
|
| | | List<ArdCameras> ardCameras = ardCamerasService.selectArdCamerasListNoDataScope(new ArdCameras());
|
| | | for (ArdCameras camera : ardCameras) {
|
| | | login(camera);
|
| | | asyncLogin(camera);
|
| | | }
|
| | | } catch (Exception ex) {
|
| | | // 初始化登录相机异常,记录错误日志
|
| | |
| | | }
|
| | |
|
| | |
|
| | | //登录
|
| | | //同步登录
|
| | | @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.error("登录相机失败,相机不存在");
|
| | | }
|
| | | 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.error("登录相机失败,相机不存在");
|
| | | }
|
| | | 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());
|
| | | }
|
| | | }
|
| | |
|
| | | //注销
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | //本地抓图
|
| | | @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) {
|
| | | String factory = ardCamera.getFactory();
|
| | | CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
|
| | | return cameraSDK.localCapture(cmd);
|
| | | }
|
| | | else
|
| | | {
|
| | | return AjaxResult.error("摄像头不存在");
|
| | | }
|
| | | } catch (Exception ex) {
|
| | | log.error("手动抓图异常:" + ex.getMessage());
|
| | | return AjaxResult.error("手动抓图异常:" + ex.getMessage());
|
| | | }
|
| | | }
|
| | |
|
| | | //抓图
|
| | |
| | |
|
| | | } catch (Exception ex) {
|
| | | log.error("设置ptz异常:" + ex.getMessage());
|
| | | return AjaxResult.error("设置ptz异常:" + ex.getMessage());
|
| | | return AjaxResult.error("设置ptz异常:" + ex.getMessage());
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | public AjaxResult controlLock(CameraCmd cmd) {
|
| | | String cameraId = cmd.getCameraId();//申请锁的相机
|
| | | ArdCameras ardCameras = ardCamerasService.selectArdCamerasById(cameraId);
|
| | | if(ardCameras==null)
|
| | | {
|
| | | if (ardCameras == null) {
|
| | | return AjaxResult.error("设备未登录");
|
| | | }
|
| | | Date now = new Date();
|
| | |
| | | String cameraId = cmd.getCameraId();//申请解锁的相机
|
| | | String operator = cmd.getOperator();//申请者
|
| | | ArdCameras ardCameras = ardCamerasService.selectArdCamerasById(cameraId);
|
| | | if(ardCameras==null)
|
| | | {
|
| | | if (ardCameras == null) {
|
| | | return AjaxResult.error("设备未登录");
|
| | | }
|
| | | if (ardCameras.getOperatorId().equals(operator)) {
|
| | |
| | | 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) {
|
| | | String factory = ardCamera.getFactory();
|
| | | CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
|
| | | return cameraSDK.localRecordStart(cmd);
|
| | | } else {
|
| | | return AjaxResult.error("相机不存在");
|
| | | }
|
| | | } 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) {
|
| | | String factory = ardCamera.getFactory();
|
| | | CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
|
| | | return cameraSDK.localRecordStop(cmd);
|
| | | }
|
| | | else
|
| | | {
|
| | | return AjaxResult.error("相机不存在");
|
| | | }
|
| | | } catch (Exception ex) {
|
| | | log.error("本地录像停止异常:" + ex.getMessage());
|
| | | return AjaxResult.error("本地录像停止异常:" + ex.getMessage());
|
| | | }
|
| | | }
|
| | | }
|