From 40ece192fe8b7c2df8599a71daeda422083c5a47 Mon Sep 17 00:00:00 2001
From: gaofw189 <gaofw189@chinatelecom.cn>
Date: 星期五, 03 二月 2023 14:35:44 +0800
Subject: [PATCH] 修复WVP作为下级平台接收设备告警消息后上报上级平台的问题
---
src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java | 2 +-
src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceAlarmMethod.java | 14 ++++++++++++++
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java | 5 ++++-
src/main/java/com/genersoft/iot/vmp/gb28181/bean/AlarmChannelMessage.java | 32 +++++++-------------------------
src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisAlarmMsgListener.java | 2 +-
5 files changed, 27 insertions(+), 28 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/AlarmChannelMessage.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/AlarmChannelMessage.java
index 96d25c4..b87a320 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/AlarmChannelMessage.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/AlarmChannelMessage.java
@@ -1,46 +1,28 @@
package com.genersoft.iot.vmp.gb28181.bean;
+import lombok.Data;
+
/**
* 閫氳繃redis鍒嗗彂鎶ヨ娑堟伅
*/
+@Data
public class AlarmChannelMessage {
/**
* 鍥芥爣缂栧彿
*/
private String gbId;
-
/**
* 鎶ヨ缂栧彿
*/
private int alarmSn;
-
+ /**
+ * 鍛婅绫诲瀷
+ */
+ private int alarmType;
/**
* 鎶ヨ鎻忚堪
*/
private String alarmDescription;
- public String getGbId() {
- return gbId;
- }
-
- public void setGbId(String gbId) {
- this.gbId = gbId;
- }
-
- public int getAlarmSn() {
- return alarmSn;
- }
-
- public void setAlarmSn(int alarmSn) {
- this.alarmSn = alarmSn;
- }
-
- public String getAlarmDescription() {
- return alarmDescription;
- }
-
- public void setAlarmDescription(String alarmDescription) {
- this.alarmDescription = alarmDescription;
- }
}
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceAlarmMethod.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceAlarmMethod.java
index ff8761e..d1fb6db 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceAlarmMethod.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceAlarmMethod.java
@@ -37,4 +37,18 @@
public int getVal() {
return val;
}
+
+ /**
+ * 鏌ヨ鏄惁鍖归厤绫诲瀷
+ * @param code
+ * @return
+ */
+ public static DeviceAlarmMethod typeOf(int code) {
+ for (DeviceAlarmMethod item : DeviceAlarmMethod.values()) {
+ if (code==item.getVal()) {
+ return item;
+ }
+ }
+ return null;
+ }
}
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java
index 09a5ffc..0c1d5d6 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java
@@ -181,11 +181,13 @@
}
}
logger.info("[鏀跺埌鎶ヨ閫氱煡]鍐呭锛歿}", JSON.toJSONString(deviceAlarm));
- if ("7".equals(deviceAlarm.getAlarmMethod()) ) {
+ if (DeviceAlarmMethod.typeOf(Integer.parseInt(deviceAlarm.getAlarmMethod())) !=null) {
// 鍙戦�佺粰骞冲彴鐨勬姤璀︿俊鎭�� 鍙戦�乺edis閫氱煡
+ logger.info("[鍙戦�佺粰骞冲彴鐨勬姤璀︿俊鎭痌鍐呭锛歿}", JSONObject.toJSONString(deviceAlarm));
AlarmChannelMessage alarmChannelMessage = new AlarmChannelMessage();
alarmChannelMessage.setAlarmSn(Integer.parseInt(deviceAlarm.getAlarmMethod()));
alarmChannelMessage.setAlarmDescription(deviceAlarm.getAlarmDescription());
+ alarmChannelMessage.setAlarmType(Integer.parseInt(deviceAlarm.getAlarmType()));
alarmChannelMessage.setGbId(channelId);
redisCatchStorage.sendAlarmMsg(alarmChannelMessage);
continue;
@@ -264,6 +266,7 @@
alarmChannelMessage.setAlarmSn(Integer.parseInt(deviceAlarm.getAlarmMethod()));
alarmChannelMessage.setAlarmDescription(deviceAlarm.getAlarmDescription());
alarmChannelMessage.setGbId(channelId);
+ alarmChannelMessage.setAlarmType(Integer.parseInt(deviceAlarm.getAlarmType()));
redisCatchStorage.sendAlarmMsg(alarmChannelMessage);
return;
}
diff --git a/src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisAlarmMsgListener.java b/src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisAlarmMsgListener.java
index 9bb3bbd..2e18db3 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisAlarmMsgListener.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisAlarmMsgListener.java
@@ -67,9 +67,9 @@
deviceAlarm.setChannelId(gbId);
deviceAlarm.setAlarmDescription(alarmChannelMessage.getAlarmDescription());
deviceAlarm.setAlarmMethod("" + alarmChannelMessage.getAlarmSn());
+ deviceAlarm.setAlarmType("" + alarmChannelMessage.getAlarmType());
deviceAlarm.setAlarmPriority("1");
deviceAlarm.setAlarmTime(DateUtil.getNowForISO8601());
- deviceAlarm.setAlarmType("1");
deviceAlarm.setLongitude(0);
deviceAlarm.setLatitude(0);
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java
index 8cf5293..2ab3e09 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java
@@ -827,7 +827,7 @@
@Override
public void sendAlarmMsg(AlarmChannelMessage msg) {
- String key = VideoManagerConstants.VM_MSG_SUBSCRIBE_ALARM;
+ String key = VideoManagerConstants.VM_MSG_SUBSCRIBE_ALARM_RECEIVE;
logger.info("[redis鍙戦�侀�氱煡] 鎶ヨ{}: {}", key, JSON.toJSON(msg));
RedisUtil.convertAndSend(key, (JSONObject)JSON.toJSON(msg));
}
--
Gitblit v1.8.0