|  |  |  | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  | import org.springframework.transaction.TransactionDefinition; | 
|---|
|  |  |  | import org.springframework.transaction.TransactionStatus; | 
|---|
|  |  |  | import org.springframework.util.ObjectUtils; | 
|---|
|  |  |  | import org.springframework.util.StringUtils; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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);     //手动提交 | 
|---|
|  |  |  | 
|---|
|  |  |  | public void sendCatalogMsgs(List<GbStream> gbStreams, String type) { | 
|---|
|  |  |  | if (gbStreams.size() > 0) { | 
|---|
|  |  |  | for (GbStream gs : gbStreams) { | 
|---|
|  |  |  | if (StringUtils.isEmpty(gs.getGbId())){ | 
|---|
|  |  |  | if (ObjectUtils.isEmpty(gs.getGbId())){ | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<ParentPlatform> parentPlatforms = platformGbStreamMapper.selectByAppAndStream(gs.getApp(), gs.getStream()); | 
|---|
|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|