From ad89fdba09b8f0596ed41c5b31de6f34fe1ce620 Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期四, 10 八月 2023 17:20:41 +0800 Subject: [PATCH] 优化行为分析信息报警 --- src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java | 42 ++++++++++++++++++++++++++++-------------- 1 files changed, 28 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java b/src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java index b041298..898dc85 100644 --- a/src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java +++ b/src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java @@ -32,7 +32,7 @@ * @Date: 2023骞�02鏈�15鏃� 12:16 * @Version: 1.0 **/ -@Slf4j(topic = "hiksdk") +@Slf4j(topic = "hikSdk") public class FMSGCallBack implements HCNetSDK.FMSGCallBack_V31 { /** @@ -49,19 +49,24 @@ String sDeviceIP = ByteUtils.bytesToStringZh(pAlarmer.sDeviceIP); Integer wLinkPort = Integer.valueOf(pAlarmer.wLinkPort); - + CameraEventInfo info; String sTime;//浜嬩欢鏃堕棿 String url = "";//浜嬩欢鍥剧墖 + Boolean isSnapPic=true; //lCommand鏄紶鐨勬姤璀︾被鍨� + log.debug("鎶ヨ浜嬩欢绫诲瀷:lCommand:" + Integer.toHexString(lCommand)); switch (lCommand) { + case HCNetSDK.COMM_ALARM_V30: + log.debug("绉诲姩渚︽祴銆佽棰戜涪澶便�侀伄鎸°�両O淇″彿閲忕瓑鎶ヨ淇℃伅(鏆備笉瑙f瀽)"); case HCNetSDK.COMM_ALARM_RULE: + log.debug("琛屼负鍒嗘瀽淇℃伅鎶ヨ淇℃伅涓婃姤"); //region 琛屼负鍒嗘瀽淇℃伅 ArdCameras ardCameras = new ArdCameras(); ardCameras.setIp(sDeviceIP); ardCameras.setPort(wLinkPort); IArdCamerasService ardCamerasService = SpringTool.getApplicationContext().getBean(IArdCamerasService.class); ArdCameras ardcamere = ardCamerasService.selectArdCamerasList(ardCameras).get(0); - log.info("鎶ヨ浜嬩欢绫诲瀷:lCommand:" + Integer.toHexString(lCommand)); + HCNetSDK.NET_VCA_RULE_ALARM strVcaAlarm = new HCNetSDK.NET_VCA_RULE_ALARM(); strVcaAlarm.write(); Pointer pVCAInfo = strVcaAlarm.getPointer(); @@ -71,7 +76,7 @@ sTime = DateUtils.parseTime(strVcaAlarm.dwAbsTime);//浜嬩欢鏃堕棿 String ipaddr = new String(strVcaAlarm.struDevInfo.struDevIP.sIpV4).trim();//璁惧ip Integer channel = Integer.valueOf(strVcaAlarm.struDevInfo.byChannel);//閫氶亾 - CameraEventInfo info = new CameraEventInfo(); + info = new CameraEventInfo(); info.setAlarmName("浜哄憳琛屼负鍒嗘瀽"); info.setAlarmTime(sTime); info.setCameraName(ardcamere.getName()); @@ -129,24 +134,27 @@ //endregion break; default: - log.debug("鏈煡琛屼负浜嬩欢绫诲瀷:" + strVcaAlarm.struRuleInfo.wEventTypeEx); - printLog(info); + // log.debug("鏈煡琛屼负浜嬩欢绫诲瀷:" + strVcaAlarm.struRuleInfo.wEventTypeEx); + isSnapPic=false; break; } //endregion //鍥剧墖瀛樺叆minio - url = savePicture(info); - info.setPicUrl(url); - publishMqtt(info); + if(isSnapPic) { + url = savePicture(info); + info.setPicUrl(url); + publishMqtt(info); + } + break; case HCNetSDK.COMM_UPLOAD_FACESNAP_RESULT: - log.debug("浜鸿劯妫�娴嬩簨浠朵笂鎶�"); + log.debug("浜鸿劯妫�娴嬩簨浠朵笂鎶�(鏆備笉瑙f瀽)"); break; case HCNetSDK.COMM_GISINFO_UPLOAD: - log.debug("GPS鎶ヨ淇℃伅涓婃姤"); + log.debug("GPS鎶ヨ淇℃伅涓婃姤(鏆備笉瑙f瀽)"); break; case HCNetSDK.COMM_ALARMHOST_CID_ALARM: - log.debug("鎶ヨ涓绘満 CID 鎶ュ憡鎶ヨ涓婁紶"); + log.debug("鎶ヨ涓绘満CID鎶ュ憡鎶ヨ涓婃姤"); //region 鎶ヨ涓绘満鎶ヨ澶勭悊 ArdEquipExternal ardEquipExternal = new ArdEquipExternal(); ardEquipExternal.setIp(sDeviceIP); @@ -245,8 +253,10 @@ acsInfo.write(0, pAlarmInfo.getByteArray(0, strACSInfo.size()), 0, strACSInfo.size()); strACSInfo.read(); int dwMajor = strACSInfo.dwMajor; + if (dwMajor != 5) { //鍙幏鍙栦簨浠� + log.debug("闈炰簨浠舵姤璀︽暟鎹笂鎶�(鏆備笉瑙f瀽)"); break; } int dwMinor = strACSInfo.dwMinor; @@ -347,7 +357,7 @@ //endregion break; default: - log.info("鏈煡鎶ヨ浜嬩欢绫诲瀷:lCommand:" + Integer.toHexString(lCommand)); + log.debug("鏈煡鎶ヨ浜嬩欢绫诲瀷:lCommand:" + Integer.toHexString(lCommand)); break; } @@ -395,6 +405,10 @@ private String savePicture(CameraEventInfo info) { CameraCmd cmd = new CameraCmd(); ArdCameras Cameras = GlobalVariable.cameraMap.get(info.getCameraIp()); + if(Cameras==null) + { + return ""; + } cmd.setCameraId(Cameras.getId()); cmd.setChannelNum(info.getCameraChannel()); cmd.setBucketName("pic"); @@ -409,7 +423,7 @@ * 鎵撳嵃閫氱敤鍏夌數鏃ュ織 */ private void printLog(CameraEventInfo info) { - log.info("銆愯鍒欍��" + info.getAlarmName() + "銆愯鍒檌d銆�" + info.getRuleId() + "銆愮被鍨嬨��" + info.getAlarmType() + + log.debug("銆愯鍒欍��" + info.getAlarmName() + "銆愯鍒檌d銆�" + info.getRuleId() + "銆愮被鍨嬨��" + info.getAlarmType() + "銆愭椂闂淬��" + info.getAlarmTime() + "銆愮浉鏈篿d銆�" + info.getCameraId() + "銆愮浉鏈恒��" + info.getCameraName() + "銆怚P銆�" + info.getCameraIp() + "銆愰�氶亾銆�" + info.getCameraChannel() + "銆愬瀷鍙枫��" + info.getCameraType() + "銆愬浘鐗囥��" + info.getPicUrl() + "銆愬潗鏍囥��" + info.getLongitude() + "," + info.getLatitude()); -- Gitblit v1.9.3