‘liusuyi’
2023-08-11 0eb6c0b3276f8493126dd7ef59bdb07c0a5110ee
src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java
@@ -210,7 +210,8 @@
                info.setUsername(camera.getUsername());
                info.setPassword(camera.getPassword());
                login(info);
                GlobalVariable.cameraMap.put(camera.getIp(), camera);
                String key = camera.getIp() + ":" + camera.getPort();
                GlobalVariable.cameraMap.put(key, camera);
            }
        } catch (Exception ex) {
            log.error("初始化登录相机异常:" + ex.getMessage());
@@ -233,7 +234,8 @@
                info.setUsername(camera.getUsername());
                info.setPassword(camera.getPassword());
                logout(info);
                GlobalVariable.cameraMap.remove(camera.getIp());
                String key = camera.getIp() + ":" + camera.getPort();
                GlobalVariable.cameraMap.remove(key);
            }
        } catch (Exception ex) {
            log.error("初始化登录相机异常:" + ex.getMessage());
@@ -256,20 +258,20 @@
                info.setUsername(alarmHost.getUsername());
                info.setPassword(alarmHost.getPassword());
                login(info);
                String ip = alarmHost.getIp();
                GlobalVariable.alarmHostMap.put(ip, alarmHost);
//                String key=alarmHost.getIp()+":"+alarmHost.getPort();
//                GlobalVariable.alarmHostMap.put(key, alarmHost);
            }
        } catch (Exception ex) {
            log.error("初始化报警主机异常:" + ex.getMessage());
        }
    }
    /**
     * @描述 登出所有报警主机
     * @创建人 刘苏义
     * @创建时间 2023/2/3 10:10
     */
    public static void logoutAllAlarmHost(List<ArdEquipExternal> ardEquipExternals)
    {
    public static void logoutAllAlarmHost(List<ArdEquipExternal> ardEquipExternals) {
        try {
            for (ArdEquipExternal alarmHost : ardEquipExternals) {
                Thread.sleep(100);
@@ -280,13 +282,14 @@
                info.setUsername(alarmHost.getUsername());
                info.setPassword(alarmHost.getPassword());
                logout(info);
                String ip = alarmHost.getIp();
                GlobalVariable.alarmHostMap.remove(ip);
//                String key=alarmHost.getIp()+":"+alarmHost.getPort();
//                GlobalVariable.alarmHostMap.remove(key);
            }
        } catch (Exception ex) {
            log.error("初始化登录相机异常:" + ex.getMessage());
        }
    }
    /**
     * @描述 登录所有门禁主机
     * @创建人 刘苏义
@@ -303,13 +306,15 @@
                info.setUsername(accessControlHost.getUsername());
                info.setPassword(accessControlHost.getPassword());
                login(info);
                String ip = accessControlHost.getIp();
                GlobalVariable.accessHostMap.put(ip, accessControlHost);
//
//                String key=accessControlHost.getIp()+":"+accessControlHost.getPort();
//                GlobalVariable.accessHostMap.put(key, accessControlHost);
            }
        } catch (Exception ex) {
            log.error("初始化报警主机异常:" + ex.getMessage());
        }
    }
    /**
     * @描述 登出所有门禁主机
     * @创建人 刘苏义
@@ -326,47 +331,14 @@
                info.setUsername(accessControlHost.getUsername());
                info.setPassword(accessControlHost.getPassword());
                logout(info);
                String ip = accessControlHost.getIp();
                GlobalVariable.accessHostMap.remove(ip);
//                String key=accessControlHost.getIp()+":"+accessControlHost.getPort();
//                GlobalVariable.accessHostMap.remove(key);
            }
        } catch (Exception ex) {
            log.error("初始化报警主机异常:" + ex.getMessage());
        }
    }
    /**
     * @描述 注销登录
     * @参数 [dvrLogin]
     * @返回值 java.lang.Integer
     * @创建人 刘苏义
     * @创建时间 2023/1/17 16:12
     * @修改人和其它信息
     */
    public static boolean loginOut(String cameraId) {
        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
            return false;
        }
        Integer userId = GlobalVariable.loginMap.get(cameraId);
        boolean b = hCNetSDK.NET_DVR_Logout(userId);
        if (b) {
            GlobalVariable.loginMap.remove(cameraId);
        }
        return b;
    }
    /**
     * 是否在线
     *
     * @param cmd
     */
    public static boolean isOnLine(CameraCmd cmd) {
        String cameraId = cmd.getCameraId();
        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
            return false;
        }
        Integer userId = GlobalVariable.loginMap.get(cameraId);
        boolean isOnLine = hCNetSDK.NET_DVR_RemoteControl(userId, HCNetSDK.NET_DVR_CHECK_USER_STATUS, null, 0);
        return isOnLine;
    }
    /**
     * 建立布防上传通道,用于传输数据
@@ -402,8 +374,6 @@
            lAlarmHandle = hCNetSDK.NET_DVR_SetupAlarmChan_V41(lUserID, m_strAlarmInfo);
            if (lAlarmHandle == -1) {
                log.error("设备【" + deviceIpPort + "】布防失败,错误码==========》" + hCNetSDK.NET_DVR_GetLastError());
                // 注销 释放sdk资源
                logout(lUserID);
            } else {
                log.debug("设备【" + deviceIpPort + "】布防成功");
            }
@@ -452,11 +422,11 @@
        //设置图片大小
        ByteBuffer jpegBuffer = ByteBuffer.allocate(1024 * 1024);
        // 抓图到内存,单帧数据捕获并保存成JPEG存放在指定的内存空间中
       // log.debug("-----------这里开始封装 NET_DVR_CaptureJPEGPicture_NEW---------");
        // log.debug("-----------这里开始封装 NET_DVR_CaptureJPEGPicture_NEW---------");
        boolean is = hCNetSDK.NET_DVR_CaptureJPEGPicture_NEW(userId, channelNum, jpeg, jpegBuffer, 1024 * 1024, a);
        //log.debug("-----------这里开始图片存入内存----------" + is);
        if (is) {
          //  log.debug("hksdk(抓图)-结果状态值(0表示成功):" + hCNetSDK.NET_DVR_GetLastError());
            //  log.debug("hksdk(抓图)-结果状态值(0表示成功):" + hCNetSDK.NET_DVR_GetLastError());
            byte[] array = jpegBuffer.array();
            //存储到minio