From 9775ffc356e1ed822f7367619ce7a9907cb49bc0 Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期六, 13 一月 2024 14:08:12 +0800 Subject: [PATCH] 融云token获取改为异步 setptz改为大光电用高精度setptz其他用普通setptz --- ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java | 243 ++++++++++++++++-------------------------------- 1 files changed, 83 insertions(+), 160 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 2e4f73d..55f8e45 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 @@ -7,13 +7,12 @@ import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.camera.service.IArdCamerasService; import com.ruoyi.device.camera.service.ICameraSdkService; -import com.ruoyi.device.dhsdk.service.IDhClientService; -import com.ruoyi.device.hiksdk.service.IHikClientService; +import com.ruoyi.device.camera.factory.CameraSDK; +import com.ruoyi.device.camera.factory.CameraSDKFactory; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.SmartInitializingSingleton; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; import org.springframework.stereotype.Service; - -import javax.annotation.PostConstruct; import javax.annotation.Resource; import java.util.Date; import java.util.HashMap; @@ -29,37 +28,34 @@ **/ @Service @Slf4j(topic = "SDK") -public class CameraSdkServiceImpl implements ICameraSdkService { +public class CameraSdkServiceImpl implements ICameraSdkService, ApplicationRunner { @Resource private IArdCamerasService ardCamerasService; @Resource - IHikClientService hikClientService; + private RedisCache redisCache; @Resource - IDhClientService dhClientService; - @Resource - RedisCache redisCache; - @Resource - AsyncLogin asyncLogin; + private CameraSDKFactory cameraSDKFactory; - - - //鍒濆鍖朣DK - @PostConstruct + /** + * 鍚姩绾跨▼鏂规硶锛岀敤浜庢墽琛屽垵濮嬪寲鐧诲綍鐩告満鐨勯�昏緫 + * + * @param args 鍛戒护琛屽弬鏁� + */ @Override - public void loginAll() { + public void run(ApplicationArguments args) { + try { + // 浠巃rdCamerasService涓幏鍙朅rdCameras鍒楄〃 List<ArdCameras> ardCameras = ardCamerasService.selectArdCamerasListNoDataScope(new ArdCameras()); for (ArdCameras camera : ardCameras) { - if ("1".equals(camera.getFactory())) { - asyncLogin.hikLogin(camera); - } else if ("2".equals(camera.getFactory())) { - asyncLogin.dhLogin(camera); - } + login(camera); } } catch (Exception ex) { + // 鍒濆鍖栫櫥褰曠浉鏈哄紓甯革紝璁板綍閿欒鏃ュ織 log.error("鍒濆鍖栫櫥褰曠浉鏈哄紓甯革細" + ex.getMessage()); } } + //鐧诲綍 @Override @@ -68,13 +64,10 @@ try { if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - asyncLogin.hikLogin(ardCamera); - result = true; - } else if (factory.equals("2")) { - asyncLogin.dhLogin(ardCamera); - result = true; - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + //sdkStrategy.login(ardCamera);//鍚屾鐧诲綍 + cameraSDK.asyncLogin(ardCamera);//寮傛鐧诲綍 + result=true; } } catch (Exception ex) { log.error("鐧诲綍寮傚父锛�" + ex.getMessage()); @@ -91,11 +84,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - result = hikClientService.logout(cameraId); - } else if (factory.equals("2")) { - result = dhClientService.logout(cameraId); - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + result = cameraSDK.logout(cameraId); } } catch (Exception ex) { log.error("娉ㄩ攢寮傚父锛�" + ex.getMessage()); @@ -113,11 +103,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - onLine = hikClientService.isOnLine(cmd); - } else if (factory.equals("2")) { - onLine = dhClientService.isOnLine(cmd); - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + onLine = cameraSDK.isOnLine(cmd); } return onLine; } catch (Exception ex) { @@ -136,11 +123,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - result = hikClientService.pTZControlWithSpeed(cmd); - } else if (factory.equals("2")) { - result = dhClientService.pTZControl(cmd); - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + result = cameraSDK.pTZControl(cmd); } return result; } catch (Exception ex) { @@ -158,11 +142,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - result = hikClientService.setFocusPos(cmd); - } else if (factory.equals("2")) { - result = dhClientService.setFocusPos(cmd); - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + result = cameraSDK.setFocusPos(cmd); } } catch (Exception ex) { log.error("璁剧疆鑱氱劍鍊煎紓甯革細" + ex.getMessage()); @@ -180,11 +161,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - result = hikClientService.getFocusPos(cmd); - } else if (factory.equals("2")) { - result = dhClientService.getFocusPos(cmd); - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + result = cameraSDK.getFocusPos(cmd); } } catch (Exception ex) { log.error("鑾峰彇鑱氱劍鍊煎紓甯革細" + ex.getMessage()); @@ -194,6 +172,7 @@ //璁剧疆棰勭疆浣� @Override + @SdkOperate public boolean setPreset(CameraCmd cmd) { boolean result = false; try { @@ -201,11 +180,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - result = hikClientService.setPreset(cmd); - } else if (factory.equals("2")) { - result = dhClientService.setPreset(cmd); - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + result = cameraSDK.setPreset(cmd); } } catch (Exception ex) { log.error("璁剧疆棰勭疆浣嶅紓甯革細" + ex.getMessage()); @@ -215,6 +191,7 @@ //璋冪敤棰勭疆浣� @Override + @SdkOperate public boolean gotoPreset(CameraCmd cmd) { boolean result = false; try { @@ -222,11 +199,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - result = hikClientService.gotoPreset(cmd); - } else if (factory.equals("2")) { - result = dhClientService.gotoPreset(cmd); - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + result = cameraSDK.gotoPreset(cmd); } } catch (Exception ex) { log.error("璋冪敤棰勭疆浣嶅紓甯革細" + ex.getMessage()); @@ -243,11 +217,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - map = hikClientService.getVideoCompressionCfg(cmd); - } else if (factory.equals("2")) { - map = dhClientService.getVideoCompressionCfg(cmd); - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + map = cameraSDK.getVideoCompressionCfg(cmd); } } catch (Exception ex) { log.error("鑾峰彇鐮佹祦鍘嬬缉鍙傛暟寮傚父锛�" + ex.getMessage()); @@ -264,11 +235,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - result = hikClientService.controlDefogcfg(cmd); - } else if (factory.equals("2")) { - //涓嶆敮鎸� - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + result = cameraSDK.controlDefogcfg(cmd); } } catch (Exception ex) { log.error("鎿嶆帶閫忛浘寮傚父锛�" + ex.getMessage()); @@ -285,11 +253,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - result = hikClientService.controlInfrarecfg(cmd); - } else if (factory.equals("2")) { - result = dhClientService.controlInfrarecfg(cmd); - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + result = cameraSDK.controlInfrarecfg(cmd); } } catch (Exception ex) { log.error("鎿嶆帶绾㈠寮傚父锛�" + ex.getMessage()); @@ -306,11 +271,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - result = hikClientService.controlFocusMode(cmd); - } else if (factory.equals("2")) { - result = dhClientService.controlFocusMode(cmd); - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + result = cameraSDK.controlFocusMode(cmd); } } catch (Exception ex) { log.error("鎿嶆帶鑱氱劍妯″紡寮傚父锛�" + ex.getMessage()); @@ -327,11 +289,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - result = hikClientService.getFocusMode(cmd); - } else if (factory.equals("2")) { - result = dhClientService.getFocusMode(cmd); - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + result = cameraSDK.getFocusMode(cmd); } } catch (Exception ex) { log.error("鑾峰彇鑱氱劍妯″紡寮傚父锛�" + ex.getMessage()); @@ -348,11 +307,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - result = hikClientService.controlPTHeateRpwron(cmd); - } else if (factory.equals("2")) { - //涓嶆敮鎸� - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + result = cameraSDK.controlPTHeateRpwron(cmd); } } catch (Exception ex) { log.error("鎿嶆帶浜戝彴鍔犵儹寮傚父锛�" + ex.getMessage()); @@ -369,11 +325,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - result = hikClientService.controlCameraDeicing(cmd); - } else if (factory.equals("2")) { - //涓嶆敮鎸� - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + result = cameraSDK.controlCameraDeicing(cmd); } } catch (Exception ex) { log.error("鎿嶆帶浜戝彴鍔犵儹寮傚父锛�" + ex.getMessage()); @@ -390,11 +343,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - result = hikClientService.getPTZLockInfo(cmd); - } else if (factory.equals("2")) { - - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + result = cameraSDK.getPTZLockInfo(cmd); } } catch (Exception ex) { log.error("鑾峰彇浜戝彴閿佸畾淇℃伅寮傚父锛�" + ex.getMessage()); @@ -420,13 +370,8 @@ if (ardCamera != null) { //鑾峰彇鎽勫儚澶村伐鍘� String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - //璋冪敤hikClientService鐨刾icCutCate鏂规硶 - url = hikClientService.picCutCate(cmd); - } else if (factory.equals("2")) { - //璋冪敤dhClientService鐨刾icCutCate鏂规硶 - url = dhClientService.picCutCate(cmd); - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + url = cameraSDK.picCutCate(cmd); } } catch (Exception ex) { log.error("鎶撳浘寮傚父锛�" + ex.getMessage()); @@ -443,11 +388,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - map = hikClientService.getPtz(cmd); - } else if (factory.equals("2")) { - map = dhClientService.getPtz(cmd); - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + map = cameraSDK.getPtz(cmd); } } catch (Exception ex) { log.error("鑾峰彇ptz寮傚父锛�" + ex.getMessage()); @@ -464,11 +406,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - map = hikClientService.getPtzScope(cmd); - } else if (factory.equals("2")) { - - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + map = cameraSDK.getPtzScope(cmd); } } catch (Exception ex) { log.error("鑾峰彇ptz鑼冨洿寮傚父锛�" + ex.getMessage()); @@ -486,11 +425,16 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - result = hikClientService.setPtz(cmd); - } else if (factory.equals("2")) { - result = dhClientService.setPtz(cmd); + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + String gdtype = ardCamera.getGdtype(); + if(gdtype.equals("1")) { + //澶у厜鐢典娇鐢ㄩ珮绮惧害ptz璁剧疆 + result = cameraSDK.setPtz(cmd); + }else + { + result = cameraSDK.setPtz1(cmd); } + } } catch (Exception ex) { log.error("璁剧疆ptz寮傚父锛�" + ex.getMessage()); @@ -508,11 +452,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - result = hikClientService.setZeroPtz(cmd); - } else if (factory.equals("2")) { - result = dhClientService.setZeroPtz(cmd); - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + result = cameraSDK.setZeroPtz(cmd); } } catch (Exception ex) { log.error("璁剧疆闆舵柟浣嶈寮傚父锛�" + ex.getMessage()); @@ -530,11 +471,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - result = hikClientService.guideTargetPosition(cmd); - } else if (factory.equals("2")) { - result = dhClientService.guideTargetPosition(cmd); - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + result = cameraSDK.guideTargetPosition(cmd); } } catch (Exception ex) { log.error("寮曞鎸囧悜鐩爣寮傚父锛�" + ex.getMessage()); @@ -597,11 +535,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - url = hikClientService.record(cmd); - } else if (factory.equals("2")) { - url = dhClientService.record(cmd); - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + url = cameraSDK.record(cmd); } } catch (Exception ex) { log.error("褰曞儚寮傚父锛�" + ex.getMessage()); @@ -618,11 +553,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - result = hikClientService.recordStart(cmd); - } else if (factory.equals("2")) { - result = dhClientService.recordStart(cmd); - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + result = cameraSDK.recordStart(cmd); } } catch (Exception ex) { log.error("寮�濮嬪綍鍍忓紓甯革細" + ex.getMessage()); @@ -639,11 +571,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - url = hikClientService.recordStopToMinio(cmd); - } else if (factory.equals("2")) { - url = dhClientService.recordStopToMinio(cmd); - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + url = cameraSDK.recordStopToMinio(cmd); } } catch (Exception ex) { log.error("鍋滄褰曞儚寮傚父锛�" + ex.getMessage()); @@ -660,11 +589,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - result = hikClientService.recordStopNotToMinio(cmd); - } else if (factory.equals("2")) { - result = dhClientService.recordStopNotToMinio(cmd); - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + result = cameraSDK.recordStopNotToMinio(cmd); } } catch (Exception ex) { log.error("鍋滄褰曞儚寮傚父锛�" + ex.getMessage()); @@ -681,11 +607,8 @@ ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); if (ardCamera != null) { String factory = ardCamera.getFactory(); - if (factory.equals("1")) { - map = hikClientService.getGisInfo(cmd); - } else if (factory.equals("2")) { - map = dhClientService.getGisInfo(cmd); - } + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + map = cameraSDK.getGisInfo(cmd); } } catch (Exception ex) { log.error("鑾峰彇鐩告満鏋惰鍙傛暟寮傚父锛�" + ex.getMessage()); -- Gitblit v1.9.3