添加金仓数据库x86驱动,优化兼容接口通道列表查询。修复多个通道同时推送
This commit is contained in:
@@ -598,7 +598,7 @@ public class SIPCommanderFroPlatform implements ISIPCommanderForPlatform {
|
||||
|
||||
SIPRequest notifyRequest = headerProviderPlatformProvider.createNotifyRequest(parentPlatform, catalogXmlContent, subscribeInfo);
|
||||
|
||||
sipSender.transmitRequest(parentPlatform.getDeviceIp(), notifyRequest);
|
||||
sipSender.transmitRequest(parentPlatform.getDeviceIp(), notifyRequest, errorEvent, okEvent);
|
||||
}
|
||||
|
||||
private String getCatalogXmlContentForCatalogAddOrUpdate(ParentPlatform parentPlatform, List<DeviceChannel> channels, int sumNum, String type, SubscribeInfo subscribeInfo) {
|
||||
@@ -610,7 +610,7 @@ public class SIPCommanderFroPlatform implements ISIPCommanderForPlatform {
|
||||
.append("<CmdType>Catalog</CmdType>\r\n")
|
||||
.append("<SN>" + (int) ((Math.random() * 9 + 1) * 100000) + "</SN>\r\n")
|
||||
.append("<DeviceID>" + parentPlatform.getDeviceGBId() + "</DeviceID>\r\n")
|
||||
.append("<SumNum>1</SumNum>\r\n")
|
||||
.append("<SumNum>"+ channels.size() +"</SumNum>\r\n")
|
||||
.append("<DeviceList Num=\"" + channels.size() + "\">\r\n");
|
||||
if (channels.size() > 0) {
|
||||
for (DeviceChannel channel : channels) {
|
||||
|
||||
@@ -250,9 +250,6 @@ public class GbStreamServiceImpl implements IGbStreamService {
|
||||
if (platform == null) {
|
||||
return ;
|
||||
}
|
||||
if (ObjectUtils.isEmpty(catalogId)) {
|
||||
catalogId = platform.getDeviceGBId();
|
||||
}
|
||||
if (platformGbStreamMapper.delByPlatformAndCatalogId(platformId, catalogId) > 0) {
|
||||
List<GbStream> gbStreams = platformGbStreamMapper.queryChannelInParentPlatformAndCatalog(platformId, catalogId);
|
||||
List<DeviceChannel> deviceChannelList = new ArrayList<>();
|
||||
|
||||
@@ -103,6 +103,9 @@ public interface PlatformGbStreamMapper {
|
||||
"</script>")
|
||||
void delByAppAndStreamsByPlatformId(@Param("gbStreams") List<GbStream> gbStreams, @Param("platformId") String platformId);
|
||||
|
||||
@Delete("DELETE from wvp_platform_gb_stream WHERE platform_id=#{platformId} and catalog_id=#{catalogId}")
|
||||
@Delete("<script> "+
|
||||
"DELETE from wvp_platform_gb_stream WHERE platform_id=#{platformId}" +
|
||||
" <if test='catalogId != null' > and catalog_id=#{catalogId}</if>" +
|
||||
"</script>")
|
||||
int delByPlatformAndCatalogId(@Param("platformId") String platformId, @Param("catalogId") String catalogId);
|
||||
}
|
||||
|
||||
@@ -68,6 +68,7 @@ public class ApiDeviceController {
|
||||
// if (logger.isDebugEnabled()) {
|
||||
// logger.debug("查询所有视频设备API调用");
|
||||
// }
|
||||
|
||||
JSONObject result = new JSONObject();
|
||||
List<Device> devices;
|
||||
if (start == null || limit ==null) {
|
||||
@@ -80,7 +81,7 @@ public class ApiDeviceController {
|
||||
}
|
||||
|
||||
JSONArray deviceJSONList = new JSONArray();
|
||||
for (Device device : devices) {
|
||||
devices.stream().forEach(device -> {
|
||||
JSONObject deviceJsonObject = new JSONObject();
|
||||
deviceJsonObject.put("ID", device.getDeviceId());
|
||||
deviceJsonObject.put("Name", device.getName());
|
||||
@@ -99,7 +100,7 @@ public class ApiDeviceController {
|
||||
deviceJsonObject.put("UpdatedAt", "");
|
||||
deviceJsonObject.put("CreatedAt", "");
|
||||
deviceJSONList.add(deviceJsonObject);
|
||||
}
|
||||
});
|
||||
result.put("DeviceList",deviceJSONList);
|
||||
return result;
|
||||
}
|
||||
@@ -114,7 +115,6 @@ public class ApiDeviceController {
|
||||
@RequestParam(required = false)String q,
|
||||
@RequestParam(required = false)Boolean online ){
|
||||
|
||||
|
||||
JSONObject result = new JSONObject();
|
||||
List<DeviceChannelExtend> deviceChannels;
|
||||
List<String> channelIds = null;
|
||||
@@ -127,13 +127,19 @@ public class ApiDeviceController {
|
||||
deviceChannels = allDeviceChannelList;
|
||||
result.put("ChannelCount", deviceChannels.size());
|
||||
}else {
|
||||
deviceChannels = storager.queryChannelsByDeviceIdWithStartAndLimit(serial,channelIds, null, null, online,start, limit);
|
||||
int total = allDeviceChannelList.size();
|
||||
result.put("ChannelCount", total);
|
||||
if (start > allDeviceChannelList.size()) {
|
||||
deviceChannels = new ArrayList<>();
|
||||
}else {
|
||||
if (start + limit < allDeviceChannelList.size()) {
|
||||
deviceChannels = allDeviceChannelList.subList(start, start + limit);
|
||||
}else {
|
||||
deviceChannels = allDeviceChannelList.subList(start, allDeviceChannelList.size());
|
||||
}
|
||||
}
|
||||
result.put("ChannelCount", allDeviceChannelList.size());
|
||||
}
|
||||
|
||||
JSONArray channleJSONList = new JSONArray();
|
||||
for (DeviceChannelExtend deviceChannelExtend : deviceChannels) {
|
||||
deviceChannels.stream().forEach(deviceChannelExtend -> {
|
||||
JSONObject deviceJOSNChannel = new JSONObject();
|
||||
deviceJOSNChannel.put("ID", deviceChannelExtend.getChannelId());
|
||||
deviceJOSNChannel.put("DeviceID", deviceChannelExtend.getDeviceId());
|
||||
@@ -166,7 +172,7 @@ public class ApiDeviceController {
|
||||
deviceJOSNChannel.put("StreamID", deviceChannelExtend.getStreamId()); // StreamID 直播流ID, 有值表示正在直播
|
||||
deviceJOSNChannel.put("NumOutputs ", -1); // 直播在线人数
|
||||
channleJSONList.add(deviceJOSNChannel);
|
||||
}
|
||||
});
|
||||
result.put("ChannelList", channleJSONList);
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user