From cb4a08d7d9fcaeeddb4bf2d2879fd50b028cc249 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期二, 22 八月 2023 14:30:43 +0800
Subject: [PATCH] 图片路径优化
---
src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java | 31 +++++++++++++++----------------
1 files changed, 15 insertions(+), 16 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 9314aa7..4711ad1 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
@@ -17,6 +17,7 @@
import com.ard.utils.other.DateUtils;
import com.ard.utils.other.SpringTool;
import com.ard.utils.mqtt.MqttConsumer;
+import com.ard.utils.uuid.IdUtils;
import com.sun.jna.Pointer;
import lombok.extern.slf4j.Slf4j;
@@ -56,7 +57,7 @@
//log.debug("鎶ヨ浜嬩欢绫诲瀷:lCommand:" + Integer.toHexString(lCommand));
switch (lCommand) {
case HCNetSDK.COMM_ALARM_V30:
- log.debug("绉诲姩渚︽祴");
+ //log.debug("绉诲姩渚︽祴");
ArdCameras ardCameras = new ArdCameras();
ardCameras.setIp(sDeviceIP);
ardCameras.setPort(wLinkPort);
@@ -75,12 +76,12 @@
info.setCameraName(camera.getName());
info.setCameraId(camera.getId());
info.setCameraIp(camera.getIp());
+ info.setCameraPort(camera.getPort());
info.setCameraType(camera.getGdtype());
info.setCameraChannel(Integer.valueOf(netDvrAlarminfoV30.byChannel[0]));
info.setLongitude(camera.getLongitude());
info.setLatitude(camera.getLatitude());
info.setAlarmType("绉诲姩渚︽祴");
- printLog(info);
//鍥剧墖瀛樺叆minio
url = savePicture(info);
info.setPicUrl(url);
@@ -89,7 +90,7 @@
}
case HCNetSDK.COMM_ALARM_RULE:
- log.debug("琛屼负鍒嗘瀽淇℃伅鎶ヨ淇℃伅涓婃姤");
+ //log.debug("琛屼负鍒嗘瀽淇℃伅鎶ヨ淇℃伅涓婃姤");
//region 琛屼负鍒嗘瀽淇℃伅
ardCameras = new ArdCameras();
ardCameras.setIp(sDeviceIP);
@@ -111,7 +112,8 @@
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);
info.setLongitude(ardCamera.getLongitude());
@@ -121,7 +123,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);
@@ -141,7 +142,6 @@
case 4: //region 鍛ㄧ晫鍏ヤ镜
info.setAlarmType("鍛ㄧ晫鍏ヤ镜鎶ヨ");
strVcaAlarm.struRuleInfo.uEventParam.setType(HCNetSDK.NET_VCA_INTRUSION.class);
- printLog(info);
//鍥剧墖瀛樺叆minio
url = savePicture(info);
info.setPicUrl(url);
@@ -185,7 +185,7 @@
// 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);
@@ -272,6 +272,7 @@
break;
case HCNetSDK.COMM_ALARM_ACS:
//region 闂ㄧ涓绘満鎶ヨ澶勭悊
+ log.debug("闂ㄧ涓绘満鎶ヨ涓婁紶");
ArdEquipExternal accessControlHost = new ArdEquipExternal();
accessControlHost.setIp(sDeviceIP);
accessControlHost.setPort(wLinkPort);
@@ -290,13 +291,12 @@
// log.debug("闈炰簨浠舵姤璀︽暟鎹笂鎶�(鏆備笉瑙f瀽)");
break;
}
+
int dwMinor = strACSInfo.dwMinor;
if (dwMinor != 80 && dwMinor != 104) {
//鍙В鏋愮湡浜烘娴嬪け璐ュ拰浜鸿劯鎶撴媿澶辫触鐨勬绫诲瀷浜嬩欢
break;
}
-// log.info("闂ㄧ涓绘満鎶ヨ涓婁紶");
-// log.info("銆愪富绫诲瀷銆戜簨浠�");
String alarmType = "";
switch (dwMinor) {
case 104:
@@ -306,13 +306,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;
@@ -322,7 +321,7 @@
buffers.get(bytes);
InputStream input = new ByteArrayInputStream(bytes);
String bucketName = "pic";
- String objectName = "alarm_" + newName + ".jpeg";
+ String objectName = "alarm/" + IdUtils.simpleUUID() + ".jpeg";
boolean uploadObject = MinioUtils.uploadObject(bucketName, objectName, input, "image/JPEG");
if (uploadObject) {
url = MinioClientSingleton.domainUrl + "/" + bucketName + "/" + objectName;
@@ -401,15 +400,15 @@
*/
private String savePicture(CameraEventInfo info) {
CameraCmd cmd = new CameraCmd();
- ArdCameras Cameras = GlobalVariable.cameraMap.get(info.getCameraIp());
+ String key=info.getCameraIp()+":"+info.getCameraPort();
+ ArdCameras Cameras = GlobalVariable.cameraMap.get(key);
if (Cameras == null) {
return "";
}
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;
@@ -448,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