From 6f34a6a7e99d4015cd5e8bc3669eea9107ac5837 Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期四, 24 八月 2023 10:42:50 +0800 Subject: [PATCH] 开启防盗电定时器 --- src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java | 38 +++++++++++++++++--------------------- 1 files changed, 17 insertions(+), 21 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 237152b..d0cae9d 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 @@ -6,17 +6,17 @@ import com.ard.alarm.camera.service.IArdCamerasService; import com.ard.alarm.external.domain.ArdEquipExternal; import com.ard.alarm.external.service.IArdEquipExternalService; -import com.ard.config.MinioClientSingleton; +import com.ard.utils.minio.MinioUtils; import com.ard.utils.other.ByteUtils; import com.ard.utils.hiksdk.common.GlobalVariable; import com.ard.utils.hiksdk.domain.AccessControlHostEventInfo; import com.ard.utils.hiksdk.domain.CameraEventInfo; import com.ard.utils.hiksdk.domain.ExternalAlarmEventInfo; import com.ard.utils.hiksdk.util.hikSdkUtil.HCNetSDK; -import com.ard.utils.hiksdk.util.minio.MinioUtils; import com.ard.utils.other.DateUtils; -import com.ard.utils.other.SpringTool; import com.ard.utils.mqtt.MqttConsumer; +import com.ard.utils.spring.SpringUtils; +import com.ard.utils.uuid.IdUtils; import com.sun.jna.Pointer; import lombok.extern.slf4j.Slf4j; @@ -60,7 +60,7 @@ ArdCameras ardCameras = new ArdCameras(); ardCameras.setIp(sDeviceIP); ardCameras.setPort(wLinkPort); - IArdCamerasService ardCamerasService = SpringTool.getApplicationContext().getBean(IArdCamerasService.class); + IArdCamerasService ardCamerasService = SpringUtils.getBean(IArdCamerasService.class); ArdCameras camera = ardCamerasService.selectArdCamerasList(ardCameras).get(0); HCNetSDK.NET_DVR_ALARMINFO_V30 netDvrAlarminfoV30 = new HCNetSDK.NET_DVR_ALARMINFO_V30(); netDvrAlarminfoV30.write(); @@ -81,7 +81,6 @@ info.setLongitude(camera.getLongitude()); info.setLatitude(camera.getLatitude()); info.setAlarmType("绉诲姩渚︽祴"); - printLog(info); //鍥剧墖瀛樺叆minio url = savePicture(info); info.setPicUrl(url); @@ -95,7 +94,7 @@ ardCameras = new ArdCameras(); ardCameras.setIp(sDeviceIP); ardCameras.setPort(wLinkPort); - ardCamerasService = SpringTool.getApplicationContext().getBean(IArdCamerasService.class); + ardCamerasService = SpringUtils.getBean(IArdCamerasService.class); ArdCameras ardCamera = ardCamerasService.selectArdCamerasList(ardCameras).get(0); HCNetSDK.NET_VCA_RULE_ALARM strVcaAlarm = new HCNetSDK.NET_VCA_RULE_ALARM(); @@ -112,7 +111,7 @@ info.setAlarmTime(sTime); info.setCameraName(ardCamera.getName()); info.setCameraId(ardCamera.getId()); - info.setCameraIp(ipaddr); + info.setCameraIp(ardCamera.getIp()); info.setCameraPort(ardCamera.getPort()); info.setCameraType(ardCamera.getGdtype()); info.setCameraChannel(channel); @@ -123,7 +122,6 @@ case 1: //region绌胯秺璀︽垝闈� (瓒婄晫渚︽祴) info.setAlarmType("瓒婄晫渚︽祴鎶ヨ"); strVcaAlarm.struRuleInfo.uEventParam.setType(HCNetSDK.NET_VCA_TRAVERSE_PLANE.class); - printLog(info); //鍥剧墖瀛樺叆minio url = savePicture(info); info.setPicUrl(url); @@ -143,7 +141,6 @@ case 4: //region 鍛ㄧ晫鍏ヤ镜 info.setAlarmType("鍛ㄧ晫鍏ヤ镜鎶ヨ"); strVcaAlarm.struRuleInfo.uEventParam.setType(HCNetSDK.NET_VCA_INTRUSION.class); - printLog(info); //鍥剧墖瀛樺叆minio url = savePicture(info); info.setPicUrl(url); @@ -192,7 +189,7 @@ ArdEquipExternal ardEquipExternal = new ArdEquipExternal(); ardEquipExternal.setIp(sDeviceIP); ardEquipExternal.setPort(wLinkPort); - IArdEquipExternalService ardEquipExternalService = SpringTool.getApplicationContext().getBean(IArdEquipExternalService.class); + IArdEquipExternalService ardEquipExternalService = SpringUtils.getBean(IArdEquipExternalService.class); ardEquipExternal = ardEquipExternalService.selectArdEquipExternal(ardEquipExternal); @@ -274,10 +271,11 @@ break; case HCNetSDK.COMM_ALARM_ACS: //region 闂ㄧ涓绘満鎶ヨ澶勭悊 + ArdEquipExternal accessControlHost = new ArdEquipExternal(); accessControlHost.setIp(sDeviceIP); accessControlHost.setPort(wLinkPort); - ardEquipExternalService = SpringTool.getApplicationContext().getBean(IArdEquipExternalService.class); + ardEquipExternalService = SpringUtils.getBean(IArdEquipExternalService.class); accessControlHost = ardEquipExternalService.selectArdEquipExternal(accessControlHost); HCNetSDK.NET_DVR_ACS_ALARM_INFO strACSInfo = new HCNetSDK.NET_DVR_ACS_ALARM_INFO(); @@ -292,13 +290,12 @@ // log.debug("闈炰簨浠舵姤璀︽暟鎹笂鎶�(鏆備笉瑙f瀽)"); break; } + log.debug("闂ㄧ涓绘満鎶ヨ涓婁紶"); int dwMinor = strACSInfo.dwMinor; if (dwMinor != 80 && dwMinor != 104) { //鍙В鏋愮湡浜烘娴嬪け璐ュ拰浜鸿劯鎶撴媿澶辫触鐨勬绫诲瀷浜嬩欢 break; } -// log.info("闂ㄧ涓绘満鎶ヨ涓婁紶"); -// log.info("銆愪富绫诲瀷銆戜簨浠�"); String alarmType = ""; switch (dwMinor) { case 104: @@ -308,13 +305,12 @@ alarmType = "浜鸿劯鎶撴媿澶辫触"; break; } + log.debug("銆愪富绫诲瀷銆戜簨浠�"+alarmType); String alarmTime = DateUtils.convertDate(parseAlarmTime(strACSInfo.struTime), "yyyy-M-d H:m:s"); //浜嬩欢鍥剧墖澶勭悊 int dwPicDataLen = strACSInfo.dwPicDataLen; if (dwPicDataLen > 0) { - SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); - String newName = sf.format(new Date()); try { //灏嗗瓧鑺傚啓鍏ユ枃浠� long offset = 0; @@ -324,10 +320,11 @@ buffers.get(bytes); InputStream input = new ByteArrayInputStream(bytes); String bucketName = "pic"; - String objectName = "alarm_" + newName + ".jpeg"; - boolean uploadObject = MinioUtils.uploadObject(bucketName, objectName, input, "image/JPEG"); + String objectName = "alarm/" + IdUtils.simpleUUID() + ".jpeg"; + MinioUtils minioUtil = SpringUtils.getBean(MinioUtils.class); + boolean uploadObject = minioUtil.uploadObject(bucketName, objectName, input,input.available(), "image/JPEG"); if (uploadObject) { - url = MinioClientSingleton.domainUrl + "/" + bucketName + "/" + objectName; + url = minioUtil.getBucketObjectUrl(bucketName, objectName); //log.debug("涓婁紶鏂囦欢鎴愬姛!" + url); } } catch (Exception e) { @@ -411,8 +408,7 @@ cmd.setCameraId(Cameras.getId()); cmd.setChannelNum(info.getCameraChannel()); cmd.setBucketName("pic"); - String UUID = java.util.UUID.randomUUID().toString().replace("-", ""); - String filename = info.getCameraName() + "/" + info.getAlarmType() + "/" + UUID + ".jpg"; + String filename = "alarm" + "/" + IdUtils.simpleUUID() + ".jpg"; cmd.setObjectName(filename); String url = HikClientUtil.picCutCate(cmd); return url; @@ -451,7 +447,7 @@ * 閫氱敤鍏夌數鎶ヨ鎺ㄩ�乵qtt */ private void publishMqtt(CameraEventInfo info) { - // printLog(info); + printLog(info); MqttConsumer.publish(2, false, "camera", JSON.toJSONString(info)); } -- Gitblit v1.9.3