forum.bitel.ru http://forum.bitel.ru/ |
|
[6.0] Свободный IP-адрес в ресурсах http://forum.bitel.ru/viewtopic.php?f=44&t=11216 |
Страница 1 из 1 |
Автор: | oldb0y [ 09 дек 2015, 11:17 ] |
Заголовок сообщения: | [6.0] Свободный IP-адрес в ресурсах |
Здравствуйте. Не удается найти метод для получения свободного IP-адреса из ресурсов. Есть что-нибудь подобное? Сервис по Логину и Паролю, IP-адрес статический (выбирается в ручную при заведении). Есть обработчик, который создает сервис, и вот в нем требуется получить свободный IP-адрес. |
Автор: | Amir [ 09 дек 2015, 17:09 ] |
Заголовок сообщения: | Re: [6.0] Свободный IP-адрес в ресурсах |
Код: import ru.bitel.bgbilling.modules.inet.api.common.service.InetServService;
import ru.bitel.oss.systems.inventory.resource.common.ResourceService; ... final InetServService servService = ctx.getService( InetServService.class, moduleId ); final ResourceService resourceService = ctx.getService( ResourceService.class, moduleId ); ... switch( servType.getAddressType() ) { case InetServType.ADDRESS_TYPE_SINGLE: { List<Integer> ipResourceCategoryIds = servService.ipResourceCategoryIds( serv.getDeviceId(), serv.getInterfaceId(), serv.getTypeId() ); List<IpResourceRange> rangeList = resourceService.freeIpResourceRangeList( ipResourceCategoryIds, null, serv.getDateFrom(), serv.getDateTo(), 1, 1 ); if( rangeList != null && rangeList.size() > 0 ) { IpResourceRange range = rangeList.get( 0 ); serv.setIpResourceId( range.getIpResourceId() ); serv.setAddressFrom( range.getAddressFrom() ); } else { e.setError( "Невозможно назначить IP-адрес сервису." ); return; } } break; default: break; } ... |
Автор: | oldb0y [ 11 дек 2015, 09:33 ] |
Заголовок сообщения: | Re: [6.0] Свободный IP-адрес в ресурсах |
Amir Спасибо! Может кому пригодится "готовый кусок" serv - это InetServ Ошибки не отрабатываю, не определились что возвращать Код: // Get Free IP
import ru.bitel.bgbilling.modules.inet.api.common.service.InetServService; import ru.bitel.oss.systems.inventory.resource.common.ResourceService; import ru.bitel.bgbilling.kernel.container.managed.ServerContext; import ru.bitel.oss.systems.inventory.resource.common.bean.IpResourceRange; ........ // Get Free IP int MODUL_ID = 4; ServerContext context = new ServerContext( setup, MODUL_ID, 0 ); final InetServService servService = context.getService( InetServService.class, MODUL_ID ); final ResourceService resourceService = context.getService( ResourceService.class, MODUL_ID ); List<Integer> ipResourceCategoryIds = servService.ipResourceCategoryIds( serv.getDeviceId(), serv.getInterfaceId(), serv.getTypeId() ); List<IpResourceRange> rangeList = resourceService.freeIpResourceRangeList( ipResourceCategoryIds, null, serv.getDateFrom(), serv.getDateTo(), 1, 1 ); if( rangeList != null && rangeList.size() > 0 ) { IpResourceRange range = rangeList.get(0); serv.setIpResourceId( range.getIpResourceId() ); serv.setAddressFrom( range.getAddressFrom() ); } |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |