修复发送目录信息是状态错误
parent
bd5b9ca1f7
commit
b5fb82934e
|
@ -132,7 +132,7 @@ public class CatalogEventLister implements ApplicationListener<CatalogEvent> {
|
|||
if (event.getGbStreams() != null && event.getGbStreams().size() > 0){
|
||||
for (GbStream gbStream : event.getGbStreams()) {
|
||||
deviceChannelList.add(
|
||||
gbStreamService.getDeviceChannelListByStream(gbStream, gbStream.getCatalogId(), parentPlatform));
|
||||
gbStreamService.getDeviceChannelListByStreamWithStatus(gbStream, gbStream.getCatalogId(), parentPlatform));
|
||||
}
|
||||
}
|
||||
if (deviceChannelList.size() > 0) {
|
||||
|
@ -154,7 +154,7 @@ public class CatalogEventLister implements ApplicationListener<CatalogEvent> {
|
|||
deviceChannelList.add(deviceChannel);
|
||||
GbStream gbStream = storager.queryStreamInParentPlatform(platform.getServerGBId(), gbId);
|
||||
if(gbStream != null){
|
||||
DeviceChannel deviceChannelByStream = gbStreamService.getDeviceChannelListByStream(gbStream, gbStream.getCatalogId(), platform);
|
||||
DeviceChannel deviceChannelByStream = gbStreamService.getDeviceChannelListByStreamWithStatus(gbStream, gbStream.getCatalogId(), platform);
|
||||
deviceChannelList.add(deviceChannelByStream);
|
||||
}
|
||||
sipCommanderFroPlatform.sendNotifyForCatalogAddOrUpdate(event.getType(), platform, deviceChannelList, subscribeInfo, null);
|
||||
|
|
|
@ -1219,9 +1219,9 @@ public class SIPCommander implements ISIPCommander {
|
|||
String charset = device.getCharset();
|
||||
catalogXml.append("<?xml version=\"1.0\" encoding=\"" + charset + "\"?>\r\n");
|
||||
catalogXml.append("<Query>\r\n");
|
||||
catalogXml.append("<CmdType>Catalog</CmdType>\r\n");
|
||||
catalogXml.append("<SN>" + sn + "</SN>\r\n");
|
||||
catalogXml.append("<DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n");
|
||||
catalogXml.append(" <CmdType>Catalog</CmdType>\r\n");
|
||||
catalogXml.append(" <SN>" + sn + "</SN>\r\n");
|
||||
catalogXml.append(" <DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n");
|
||||
catalogXml.append("</Query>\r\n");
|
||||
|
||||
String tm = Long.toString(System.currentTimeMillis());
|
||||
|
@ -1229,7 +1229,7 @@ public class SIPCommander implements ISIPCommander {
|
|||
CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.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);
|
||||
} catch (SipException | ParseException | InvalidArgumentException e) {
|
||||
|
|
|
@ -53,4 +53,6 @@ public interface IGbStreamService {
|
|||
* @return
|
||||
*/
|
||||
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);
|
||||
// TODO 修改为批量提交
|
||||
platformGbStreamMapper.add(gbStream);
|
||||
DeviceChannel deviceChannelListByStream = getDeviceChannelListByStream(gbStream, catalogId, parentPlatform);
|
||||
DeviceChannel deviceChannelListByStream = getDeviceChannelListByStreamWithStatus(gbStream, catalogId, parentPlatform);
|
||||
deviceChannelList.add(deviceChannelListByStream);
|
||||
}
|
||||
dataSourceTransactionManager.commit(transactionStatus); //手动提交
|
||||
|
@ -188,4 +188,46 @@ public class GbStreamServiceImpl implements IGbStreamService {
|
|||
public int updateGbIdOrName(List<StreamPushItem> 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>"+
|
||||
"</script>")
|
||||
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