修复发送目录信息是状态错误
parent
bd5b9ca1f7
commit
b5fb82934e
|
@ -132,7 +132,7 @@ public class CatalogEventLister implements ApplicationListener<CatalogEvent> {
|
||||||
if (event.getGbStreams() != null && event.getGbStreams().size() > 0){
|
if (event.getGbStreams() != null && event.getGbStreams().size() > 0){
|
||||||
for (GbStream gbStream : event.getGbStreams()) {
|
for (GbStream gbStream : event.getGbStreams()) {
|
||||||
deviceChannelList.add(
|
deviceChannelList.add(
|
||||||
gbStreamService.getDeviceChannelListByStream(gbStream, gbStream.getCatalogId(), parentPlatform));
|
gbStreamService.getDeviceChannelListByStreamWithStatus(gbStream, gbStream.getCatalogId(), parentPlatform));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (deviceChannelList.size() > 0) {
|
if (deviceChannelList.size() > 0) {
|
||||||
|
@ -154,7 +154,7 @@ public class CatalogEventLister implements ApplicationListener<CatalogEvent> {
|
||||||
deviceChannelList.add(deviceChannel);
|
deviceChannelList.add(deviceChannel);
|
||||||
GbStream gbStream = storager.queryStreamInParentPlatform(platform.getServerGBId(), gbId);
|
GbStream gbStream = storager.queryStreamInParentPlatform(platform.getServerGBId(), gbId);
|
||||||
if(gbStream != null){
|
if(gbStream != null){
|
||||||
DeviceChannel deviceChannelByStream = gbStreamService.getDeviceChannelListByStream(gbStream, gbStream.getCatalogId(), platform);
|
DeviceChannel deviceChannelByStream = gbStreamService.getDeviceChannelListByStreamWithStatus(gbStream, gbStream.getCatalogId(), platform);
|
||||||
deviceChannelList.add(deviceChannelByStream);
|
deviceChannelList.add(deviceChannelByStream);
|
||||||
}
|
}
|
||||||
sipCommanderFroPlatform.sendNotifyForCatalogAddOrUpdate(event.getType(), platform, deviceChannelList, subscribeInfo, null);
|
sipCommanderFroPlatform.sendNotifyForCatalogAddOrUpdate(event.getType(), platform, deviceChannelList, subscribeInfo, null);
|
||||||
|
|
|
@ -1219,9 +1219,9 @@ public class SIPCommander implements ISIPCommander {
|
||||||
String charset = device.getCharset();
|
String charset = device.getCharset();
|
||||||
catalogXml.append("<?xml version=\"1.0\" encoding=\"" + charset + "\"?>\r\n");
|
catalogXml.append("<?xml version=\"1.0\" encoding=\"" + charset + "\"?>\r\n");
|
||||||
catalogXml.append("<Query>\r\n");
|
catalogXml.append("<Query>\r\n");
|
||||||
catalogXml.append("<CmdType>Catalog</CmdType>\r\n");
|
catalogXml.append(" <CmdType>Catalog</CmdType>\r\n");
|
||||||
catalogXml.append("<SN>" + sn + "</SN>\r\n");
|
catalogXml.append(" <SN>" + sn + "</SN>\r\n");
|
||||||
catalogXml.append("<DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n");
|
catalogXml.append(" <DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n");
|
||||||
catalogXml.append("</Query>\r\n");
|
catalogXml.append("</Query>\r\n");
|
||||||
|
|
||||||
String tm = Long.toString(System.currentTimeMillis());
|
String tm = Long.toString(System.currentTimeMillis());
|
||||||
|
@ -1229,7 +1229,7 @@ public class SIPCommander implements ISIPCommander {
|
||||||
CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
|
CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
|
||||||
: udpSipProvider.getNewCallId();
|
: udpSipProvider.getNewCallId();
|
||||||
|
|
||||||
Request request = headerProvider.createMessageRequest(device, catalogXml.toString(), "z9hG4bK-ViaCatalog-" + tm, "FromCat" + tm, null, callIdHeader);
|
Request request = headerProvider.createMessageRequest(device, catalogXml.toString(), "z9hG4bK" + tm, tm, null, callIdHeader);
|
||||||
|
|
||||||
transmitRequest(device, request, errorEvent);
|
transmitRequest(device, request, errorEvent);
|
||||||
} catch (SipException | ParseException | InvalidArgumentException e) {
|
} catch (SipException | ParseException | InvalidArgumentException e) {
|
||||||
|
|
|
@ -53,4 +53,6 @@ public interface IGbStreamService {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
int updateGbIdOrName(List<StreamPushItem> streamPushItemForUpdate);
|
int updateGbIdOrName(List<StreamPushItem> streamPushItemForUpdate);
|
||||||
|
|
||||||
|
DeviceChannel getDeviceChannelListByStreamWithStatus(GbStream gbStream, String catalogId, ParentPlatform platform);
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,7 +79,7 @@ public class GbStreamServiceImpl implements IGbStreamService {
|
||||||
gbStream.setPlatformId(platformId);
|
gbStream.setPlatformId(platformId);
|
||||||
// TODO 修改为批量提交
|
// TODO 修改为批量提交
|
||||||
platformGbStreamMapper.add(gbStream);
|
platformGbStreamMapper.add(gbStream);
|
||||||
DeviceChannel deviceChannelListByStream = getDeviceChannelListByStream(gbStream, catalogId, parentPlatform);
|
DeviceChannel deviceChannelListByStream = getDeviceChannelListByStreamWithStatus(gbStream, catalogId, parentPlatform);
|
||||||
deviceChannelList.add(deviceChannelListByStream);
|
deviceChannelList.add(deviceChannelListByStream);
|
||||||
}
|
}
|
||||||
dataSourceTransactionManager.commit(transactionStatus); //手动提交
|
dataSourceTransactionManager.commit(transactionStatus); //手动提交
|
||||||
|
@ -188,4 +188,46 @@ public class GbStreamServiceImpl implements IGbStreamService {
|
||||||
public int updateGbIdOrName(List<StreamPushItem> streamPushItemForUpdate) {
|
public int updateGbIdOrName(List<StreamPushItem> streamPushItemForUpdate) {
|
||||||
return gbStreamMapper.updateGbIdOrName(streamPushItemForUpdate);
|
return gbStreamMapper.updateGbIdOrName(streamPushItemForUpdate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DeviceChannel getDeviceChannelListByStreamWithStatus(GbStream gbStream, String catalogId, ParentPlatform platform) {
|
||||||
|
DeviceChannel deviceChannel = new DeviceChannel();
|
||||||
|
deviceChannel.setChannelId(gbStream.getGbId());
|
||||||
|
deviceChannel.setName(gbStream.getName());
|
||||||
|
deviceChannel.setLongitude(gbStream.getLongitude());
|
||||||
|
deviceChannel.setLatitude(gbStream.getLatitude());
|
||||||
|
deviceChannel.setDeviceId(platform.getDeviceGBId());
|
||||||
|
deviceChannel.setManufacture("wvp-pro");
|
||||||
|
// todo 目前是每一条查询一次,需要优化
|
||||||
|
Boolean status = null;
|
||||||
|
if ("proxy".equals(gbStream.getStreamType())) {
|
||||||
|
status = gbStreamMapper.selectStatusForProxy(gbStream.getApp(), gbStream.getStream());
|
||||||
|
}else {
|
||||||
|
status = gbStreamMapper.selectStatusForPush(gbStream.getApp(), gbStream.getStream());
|
||||||
|
}
|
||||||
|
deviceChannel.setStatus((status != null && status )?1:0);
|
||||||
|
|
||||||
|
deviceChannel.setRegisterWay(1);
|
||||||
|
deviceChannel.setCivilCode(platform.getAdministrativeDivision());
|
||||||
|
|
||||||
|
if (platform.getTreeType().equals(TreeType.CIVIL_CODE)){
|
||||||
|
deviceChannel.setCivilCode(catalogId);
|
||||||
|
}else if (platform.getTreeType().equals(TreeType.BUSINESS_GROUP)){
|
||||||
|
PlatformCatalog catalog = catalogMapper.select(catalogId);
|
||||||
|
if (catalog == null) {
|
||||||
|
deviceChannel.setParentId(platform.getDeviceGBId());
|
||||||
|
deviceChannel.setBusinessGroupId(null);
|
||||||
|
}else {
|
||||||
|
deviceChannel.setParentId(catalog.getId());
|
||||||
|
deviceChannel.setBusinessGroupId(catalog.getBusinessGroupId());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
deviceChannel.setModel("live");
|
||||||
|
deviceChannel.setOwner("wvp-pro");
|
||||||
|
deviceChannel.setParental(0);
|
||||||
|
deviceChannel.setSecrecy("0");
|
||||||
|
return deviceChannel;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -158,4 +158,10 @@ public interface GbStreamMapper {
|
||||||
"</foreach>"+
|
"</foreach>"+
|
||||||
"</script>")
|
"</script>")
|
||||||
int updateGbIdOrName(List<StreamPushItem> streamPushItemForUpdate);
|
int updateGbIdOrName(List<StreamPushItem> streamPushItemForUpdate);
|
||||||
|
|
||||||
|
@Select("SELECT status FROM stream_proxy WHERE app=#{app} AND stream=#{stream}")
|
||||||
|
Boolean selectStatusForProxy(String app, String stream);
|
||||||
|
|
||||||
|
@Select("SELECT status FROM stream_push WHERE app=#{app} AND stream=#{stream}")
|
||||||
|
Boolean selectStatusForPush(String app, String stream);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue