增加收到notify增加或移除通道时发送redis消息
This commit is contained in:
parent
534be3f580
commit
0c14970ab8
@ -175,6 +175,11 @@ public class NotifyRequestForCatalogProcessor extends SIPRequestProcessorParent
|
|||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
addChannelMap.put(channel.getChannelId(), channel);
|
addChannelMap.put(channel.getChannelId(), channel);
|
||||||
|
if (userSetting.getDeviceStatusNotify()) {
|
||||||
|
// 发送redis消息
|
||||||
|
redisCatchStorage.sendChannelAddOrDelete(device.getDeviceId(), channel.getChannelId(), true);
|
||||||
|
}
|
||||||
|
|
||||||
if (addChannelMap.keySet().size() > 300) {
|
if (addChannelMap.keySet().size() > 300) {
|
||||||
executeSaveForAdd();
|
executeSaveForAdd();
|
||||||
}
|
}
|
||||||
@ -185,6 +190,10 @@ public class NotifyRequestForCatalogProcessor extends SIPRequestProcessorParent
|
|||||||
// 删除
|
// 删除
|
||||||
logger.info("[收到删除通道通知] 来自设备: {}, 通道 {}", device.getDeviceId(), channel.getChannelId());
|
logger.info("[收到删除通道通知] 来自设备: {}, 通道 {}", device.getDeviceId(), channel.getChannelId());
|
||||||
deleteChannelList.add(channel);
|
deleteChannelList.add(channel);
|
||||||
|
if (userSetting.getDeviceStatusNotify()) {
|
||||||
|
// 发送redis消息
|
||||||
|
redisCatchStorage.sendChannelAddOrDelete(device.getDeviceId(), channel.getChannelId(), false);
|
||||||
|
}
|
||||||
if (deleteChannelList.size() > 300) {
|
if (deleteChannelList.size() > 300) {
|
||||||
executeSaveForDelete();
|
executeSaveForDelete();
|
||||||
}
|
}
|
||||||
@ -205,6 +214,10 @@ public class NotifyRequestForCatalogProcessor extends SIPRequestProcessorParent
|
|||||||
if (addChannelMap.keySet().size() > 300) {
|
if (addChannelMap.keySet().size() > 300) {
|
||||||
executeSaveForAdd();
|
executeSaveForAdd();
|
||||||
}
|
}
|
||||||
|
if (userSetting.getDeviceStatusNotify()) {
|
||||||
|
// 发送redis消息
|
||||||
|
redisCatchStorage.sendChannelAddOrDelete(device.getDeviceId(), channel.getChannelId(), true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -202,4 +202,5 @@ public interface IRedisCatchStorage {
|
|||||||
void removeAllDevice();
|
void removeAllDevice();
|
||||||
|
|
||||||
void sendDeviceOrChannelStatus(String deviceId, String channelId, boolean online);
|
void sendDeviceOrChannelStatus(String deviceId, String channelId, boolean online);
|
||||||
|
void sendChannelAddOrDelete(String deviceId, String channelId, boolean add);
|
||||||
}
|
}
|
||||||
|
@ -611,4 +611,19 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage {
|
|||||||
// 使用 RedisTemplate<Object, Object> 发送字符串消息会导致发送的消息多带了双引号
|
// 使用 RedisTemplate<Object, Object> 发送字符串消息会导致发送的消息多带了双引号
|
||||||
stringRedisTemplate.convertAndSend(key, msg.toString());
|
stringRedisTemplate.convertAndSend(key, msg.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sendChannelAddOrDelete(String deviceId, String channelId, boolean add) {
|
||||||
|
String key = VideoManagerConstants.VM_MSG_SUBSCRIBE_DEVICE_STATUS;
|
||||||
|
logger.info("[redis通知] 推送通道{}, {}/{}", add?"增加":"移除", deviceId, channelId);
|
||||||
|
|
||||||
|
StringBuilder msg = new StringBuilder();
|
||||||
|
msg.append(deviceId);
|
||||||
|
if (channelId != null) {
|
||||||
|
msg.append(":").append(channelId);
|
||||||
|
}
|
||||||
|
msg.append(" ").append(add? "ADD":"DELETE");
|
||||||
|
// 使用 RedisTemplate<Object, Object> 发送字符串消息会导致发送的消息多带了双引号
|
||||||
|
stringRedisTemplate.convertAndSend(key, msg.toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user