| | |
| | | import org.springframework.scheduling.annotation.Async; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | |
| | | **/ |
| | | @Service |
| | | @Slf4j |
| | | public class CameraSDKService { |
| | | public class CameraSDKService implements CameraSDK { |
| | | |
| | | @Resource |
| | | private RedisCache redisService; |
| | |
| | | |
| | | //异步登录 |
| | | @Async |
| | | public AjaxResult login(ArdCamera ardCamera) { |
| | | @Override |
| | | public void login(ArdCamera ardCamera) { |
| | | try { |
| | | if (ardCamera == null) { |
| | | return AjaxResult.warn("设备不存在"); |
| | | log.warn("设备不存在"); |
| | | return; |
| | | } |
| | | String factory = ardCamera.getFactory(); |
| | | CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); |
| | | return cameraSDK.login(ardCamera);//异步登录 |
| | | cameraSDK.login(ardCamera);//异步登录 |
| | | } catch (Exception ex) { |
| | | log.error("登录异常:{}", ex.getMessage()); |
| | | return AjaxResult.error("登录异常:" + ex.getMessage()); |
| | | } |
| | | } |
| | | |
| | | //注销 |
| | | public boolean logout(String cameraId) { |
| | | boolean result = false; |
| | | @Override |
| | | public void logout(String cameraId) { |
| | | try { |
| | | ArdCamera ardCamera = redisService.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId); |
| | | if (ardCamera != null) { |
| | | String factory = ardCamera.getFactory(); |
| | | CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); |
| | | result = cameraSDK.logout(cameraId); |
| | | if (result) { |
| | | GlobalVariable.loginMap.remove(cameraId);//移除相机登录id缓存 |
| | | } |
| | | cameraSDK.logout(cameraId); |
| | | GlobalVariable.loginMap.remove(cameraId);//移除相机登录id缓存 |
| | | } |
| | | } catch (Exception ex) { |
| | | log.error("注销异常:{}", ex.getMessage()); |
| | | return false; |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | //在线检测 |
| | | @Override |
| | | public boolean isOnLine(CameraCmd cmd) { |
| | | try { |
| | | boolean onLine = false; |
| | |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | //获取码流压缩参数 |
| | | public VideoCompressionCfg getVideoCompressionCfg(CameraCmd cmd) { |
| | | try { |
| | |
| | | } |
| | | |
| | | //获取通道列表 |
| | | @Override |
| | | public List<ArdChannel> getChannels(ArdCamera camera) { |
| | | try { |
| | | CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(camera.getFactory()); |