| | |
| | | |
| | | import com.ard.alarm.camera.domain.ArdCameras; |
| | | import com.ard.alarm.camera.domain.CameraCmd; |
| | | import com.ard.utils.ByteUtils; |
| | | import com.ard.utils.hiksdk.common.GlobalVariable; |
| | | import com.ard.utils.hiksdk.util.hikSdkUtil.HCNetSDK; |
| | | import com.ard.utils.hiksdk.util.minio.MinioUtils; |
| | | import com.sun.jna.Native; |
| | | import com.sun.jna.Platform; |
| | | import com.sun.jna.Pointer; |
| | | import com.sun.jna.ptr.IntByReference; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | |
| | | * @创建时间 2023/1/17 16:12 |
| | | * @修改人和其它信息 |
| | | */ |
| | | |
| | | public static void login(ArdCameras camera) { |
| | | // 初始化 |
| | | if (!hCNetSDK.NET_DVR_Init()) { |
| | |
| | | HCNetSDK.NET_DVR_SETUPALARM_PARAM m_strAlarmInfo = new HCNetSDK.NET_DVR_SETUPALARM_PARAM(); |
| | | m_strAlarmInfo.dwSize = m_strAlarmInfo.size(); |
| | | // 智能交通布防优先级:0 - 一等级(高),1 - 二等级(中),2 - 三等级(低) |
| | | m_strAlarmInfo.byLevel = 1; |
| | | m_strAlarmInfo.byLevel = 2; |
| | | // 智能交通报警信息上传类型:0 - 老报警信息(NET_DVR_PLATE_RESULT), 1 - 新报警信息(NET_ITS_PLATE_RESULT) |
| | | m_strAlarmInfo.byAlarmInfoType = 1; |
| | | // 布防类型(仅针对门禁主机、人证设备):0 - 客户端布防(会断网续传),1 - 实时布防(只上传实时数据) |
| | |
| | | // 布防成功,返回布防成功的数据传输通道号 |
| | | lAlarmHandle = hCNetSDK.NET_DVR_SetupAlarmChan_V41(lUserID, m_strAlarmInfo); |
| | | if (lAlarmHandle == -1) { |
| | | log.error("设备布防失败,错误码==========》" + hCNetSDK.NET_DVR_GetLastError()); |
| | | log.error("设备布防失败,错误码==========》" + hCNetSDK.NET_DVR_GetLastError()); |
| | | // 注销 释放sdk资源 |
| | | logout(lUserID); |
| | |
| | | // 释放sdk资源 |
| | | hCNetSDK.NET_DVR_Cleanup(); |
| | | } |
| | | |
| | | /** |
| | | * 抓图 |
| | | * |
| | |
| | | return ""; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 获取防区名称 |
| | | * 通道号==防区号 从0开始 |
| | | * 刘苏义 |
| | | * 2023/7/6 10:48 |
| | | */ |
| | | public static String getDefenseZoneName(CameraCmd cmd) { |
| | | String name=""; |
| | | try { |
| | | String cameraId = cmd.getCameraId(); |
| | | Integer channelNum = cmd.getWZoneIndex();//通道号==防区号 |
| | | if (!GlobalVariable.loginMap.containsKey(cameraId)) { |
| | | return name; |
| | | } |
| | | Integer userId = GlobalVariable.loginMap.get(cameraId); |
| | | |
| | | HCNetSDK.NET_DVR_ALARMIN_PARAM netDvrAlarminParam = new HCNetSDK.NET_DVR_ALARMIN_PARAM(); |
| | | Pointer point = netDvrAlarminParam.getPointer(); |
| | | IntByReference ibrBytesReturned = new IntByReference(); |
| | | netDvrAlarminParam.write(); |
| | | boolean b = hCNetSDK.NET_DVR_GetDVRConfig(userId, HCNetSDK.NET_DVR_GET_ALARMIN_PARAM, channelNum, point, netDvrAlarminParam.size(), ibrBytesReturned); |
| | | if (b) { |
| | | netDvrAlarminParam.read(); |
| | | name = ByteUtils.bytesToStringZh(netDvrAlarminParam.byName); |
| | | } else { |
| | | int error = hCNetSDK.NET_DVR_GetLastError(); |
| | | log.info("获取防区名称失败:" + error); |
| | | } |
| | | } catch (Exception ex) { |
| | | log.error("获取防区名称异常:" + ex.getMessage()); |
| | | } |
| | | return name; |
| | | } |
| | | } |