| | |
| | | package com.ard.utils.hiksdk.service.impl; |
| | | |
| | | import com.ard.alarm.camera.domain.ArdCameras; |
| | | import com.ard.alarm.camera.domain.CameraCmd; |
| | | import com.ard.utils.hiksdk.common.GlobalVariable; |
| | | import com.ard.utils.hiksdk.domain.DeviceInfo; |
| | | import com.ard.utils.hiksdk.util.hikSdkUtil.HCNetSDK; |
| | | import com.sun.jna.Pointer; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | @Slf4j(topic = "hikSdk") |
| | | public class LoginResultCallBack implements HCNetSDK.FLoginResultCallBack { |
| | | |
| | | private ArdCameras camera; |
| | | public LoginResultCallBack(ArdCameras camera) { |
| | | this.camera = camera; |
| | | private DeviceInfo deviceInfo; |
| | | |
| | | public LoginResultCallBack(DeviceInfo deviceInfo) { |
| | | this.deviceInfo = deviceInfo; |
| | | } |
| | | |
| | | @Override |
| | | public int invoke(int lUserID, int dwResult, HCNetSDK.NET_DVR_DEVICEINFO_V30 lpDeviceinfo, Pointer pUser) { |
| | | if (GlobalVariable.loginMap.containsKey(camera.getId())) { |
| | | GlobalVariable.loginMap.remove(camera.getId()); |
| | | } |
| | | String deviceIpPort = deviceInfo.getIp() + ":" + deviceInfo.getPort(); |
| | | if (dwResult == 1) { |
| | | GlobalVariable.loginMap.put(camera.getId(), lUserID); |
| | | log.info(camera.getIp() + ":" + camera.getPort() + "登录成功"); |
| | | camera.setLoginId(lUserID); |
| | | camera.setChannel((int) lpDeviceinfo.byChanNum); |
| | | GlobalVariable.loginMap.put(deviceInfo.getDeviceId(), lUserID); |
| | | log.info("设备【" + deviceIpPort + "】登录成功"); |
| | | // 设置报警回调函数,建立报警上传通道(启用布防) |
| | | HikClientUtil.setupAlarmChan(lUserID, -1); |
| | | HikClientUtil.setupAlarmChan(deviceIpPort, lUserID, -1); |
| | | } else { |
| | | log.info(camera.getIp() + ":" + camera.getPort() + "登录失败"); |
| | | camera.setChannel(0); |
| | | camera.setLoginId(-1); |
| | | log.info("设备【" + deviceIpPort + "】登录失败"); |
| | | } |
| | | return 1; |
| | | } |