修复NOTIFY消息中通道的状态变化
parent
dc12bcf8f1
commit
43a2344ad0
|
@ -624,21 +624,21 @@ public interface DeviceChannelMapper {
|
||||||
"DELETE FROM wvp_device_channel WHERE id=#{item.id}" +
|
"DELETE FROM wvp_device_channel WHERE id=#{item.id}" +
|
||||||
"</foreach>" +
|
"</foreach>" +
|
||||||
"</script>"})
|
"</script>"})
|
||||||
int batchDel(@Param("deleteChannelList") List<DeviceChannel> deleteChannelList);
|
int batchDel(List<DeviceChannel> deleteChannelList);
|
||||||
|
|
||||||
@Update({"<script>" +
|
@Update({"<script>" +
|
||||||
"<foreach collection='channels' item='item' separator=';'>" +
|
"<foreach collection='channels' item='item' separator=';'>" +
|
||||||
"UPDATE wvp_device_channel SET status='ON' WHERE id=#{item.id}" +
|
"UPDATE wvp_device_channel SET status='ON' WHERE device_id=#{item.deviceId}" +
|
||||||
"</foreach>" +
|
"</foreach>" +
|
||||||
"</script>"})
|
"</script>"})
|
||||||
int batchOnline(@Param("channels") List<DeviceChannel> channels);
|
int batchOnlineForNotify(List<DeviceChannel> channels);
|
||||||
|
|
||||||
@Update({"<script>" +
|
@Update({"<script>" +
|
||||||
"<foreach collection='channels' item='item' separator=';'>" +
|
"<foreach collection='channels' item='item' separator=';'>" +
|
||||||
"UPDATE wvp_device_channel SET status='OFF' WHERE id=#{item.id}" +
|
"UPDATE wvp_device_channel SET status='OFF' WHERE device_id=#{item.deviceId}" +
|
||||||
"</foreach>" +
|
"</foreach>" +
|
||||||
"</script>"})
|
"</script>"})
|
||||||
int batchOffline(List<DeviceChannel> channels);
|
int batchOfflineForNotify(List<DeviceChannel> channels);
|
||||||
|
|
||||||
|
|
||||||
@Select("select count(1) from wvp_device_channel where status = 'ON'")
|
@Select("select count(1) from wvp_device_channel where status = 'ON'")
|
||||||
|
|
|
@ -50,12 +50,12 @@ public interface IDeviceChannelService {
|
||||||
/**
|
/**
|
||||||
* 批量上线
|
* 批量上线
|
||||||
*/
|
*/
|
||||||
int channelsOnline(List<DeviceChannel> channels);
|
int channelsOnlineForNotify(List<DeviceChannel> channels);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量下线
|
* 批量下线
|
||||||
*/
|
*/
|
||||||
int channelsOffline(List<DeviceChannel> channels);
|
int channelsOfflineForNotify(List<DeviceChannel> channels);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取一个通道
|
* 获取一个通道
|
||||||
|
|
|
@ -198,8 +198,8 @@ public class DeviceChannelServiceImpl implements IDeviceChannelService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int channelsOnline(List<DeviceChannel> channels) {
|
public int channelsOnlineForNotify(List<DeviceChannel> channels) {
|
||||||
return channelMapper.batchOnline(channels);
|
return channelMapper.batchOnlineForNotify(channels);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -208,8 +208,8 @@ public class DeviceChannelServiceImpl implements IDeviceChannelService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int channelsOffline(List<DeviceChannel> channels) {
|
public int channelsOfflineForNotify(List<DeviceChannel> channels) {
|
||||||
return channelMapper.batchOffline(channels);
|
return channelMapper.batchOfflineForNotify(channels);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -112,6 +112,7 @@ public class NotifyRequestForCatalogProcessor extends SIPRequestProcessorParent
|
||||||
log.info("[解析CatalogChannelEvent]成功:但是解析通道信息失败, 原文如下: \n{}", new String(evt.getRequest().getRawContent()));
|
log.info("[解析CatalogChannelEvent]成功:但是解析通道信息失败, 原文如下: \n{}", new String(evt.getRequest().getRawContent()));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
catalogChannelEvent.getChannel().setDeviceDbId(device.getId());
|
||||||
} catch (InvocationTargetException | NoSuchMethodException | InstantiationException |
|
} catch (InvocationTargetException | NoSuchMethodException | InstantiationException |
|
||||||
IllegalAccessException e) {
|
IllegalAccessException e) {
|
||||||
log.error("[解析CatalogChannelEvent]失败,", e);
|
log.error("[解析CatalogChannelEvent]失败,", e);
|
||||||
|
@ -305,20 +306,15 @@ public class NotifyRequestForCatalogProcessor extends SIPRequestProcessorParent
|
||||||
|
|
||||||
private void executeSaveForOnline(){
|
private void executeSaveForOnline(){
|
||||||
if (!updateChannelOnlineList.isEmpty()) {
|
if (!updateChannelOnlineList.isEmpty()) {
|
||||||
deviceChannelService.channelsOnline(updateChannelOnlineList);
|
deviceChannelService.channelsOnlineForNotify(updateChannelOnlineList);
|
||||||
updateChannelOnlineList.clear();
|
updateChannelOnlineList.clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void executeSaveForOffline(){
|
private void executeSaveForOffline(){
|
||||||
if (!updateChannelOfflineList.isEmpty()) {
|
if (!updateChannelOfflineList.isEmpty()) {
|
||||||
deviceChannelService.channelsOffline(updateChannelOfflineList);
|
deviceChannelService.channelsOfflineForNotify(updateChannelOfflineList);
|
||||||
updateChannelOfflineList.clear();
|
updateChannelOfflineList.clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Scheduled(fixedRate = 10000) //每1秒执行一次
|
|
||||||
// public void execute(){
|
|
||||||
// logger.info("[待处理Notify-目录订阅消息数量]: {}", taskQueue.size());
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue