‘liusuyi’
2023-07-07 9aa66699aaa610be66f5bd0c22e90cae114311f9
src/main/java/com/ard/utils/hiksdk/service/impl/LoginResultCallBack.java
@@ -3,6 +3,7 @@
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;
@@ -17,27 +18,20 @@
@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());
        }
        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(deviceInfo.getIp() + ":" + deviceInfo.getPort() + "登录成功");
            // 设置报警回调函数,建立报警上传通道(启用布防)
            HikClientUtil.setupAlarmChan(lUserID, -1);
        } else {
            log.info(camera.getIp() + ":" + camera.getPort() + "登录失败");
            camera.setChannel(0);
            camera.setLoginId(-1);
            log.info(deviceInfo.getIp() + ":" + deviceInfo.getPort() + "登录失败");
        }
        return 1;
    }