BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 21 июн 2025, 17:31

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: 26 окт 2016, 20:50 
Не в сети

Зарегистрирован: 19 ноя 2012, 18:49
Сообщения: 53
Карма: 0
Добрый день!
Использую следующий код, но в результате создается два сервиса в корне, а нужно получить первый в корне и второй дочерним к первому.
Как это сделать?

Код:
         final ServerContext context = ServerContext.get();
         final InetServService servService = context.getService( InetServService.class, myConst.INET_MID );
         final ResourceService resourceService = context.getService( ResourceService.class, myConst.INET_MID );

             InetServ is1 = new InetServ();
             is1.setTypeId(myConst.INET_SERVICE_DHCP);
             is1.setContractId(cid);
             is1.setDateFrom(new java.util.Date());
             is1.setDeviceId(deviceId);
             is1.setInterfaceId(devicePort);
             is1.setStatus(is1.STATUS_ACTIVE);
             is1.setDeviceState(is1.STATE_ENABLE);
             is1.setLogin(client_ip);
//             is.setTitle("111222333");

         List<Integer> ipResourceCategoryIds = servService.ipResourceCategoryIds( is1.getDeviceId(), is1.getInterfaceId(), is1.getTypeId() );
         List<IpResourceRange> rangeList = resourceService.freeIpResourceRangeList( ipResourceCategoryIds, null, is1.getDateFrom(), is1.getDateTo(), 1, 1 );
         if( rangeList != null && rangeList.size() > 0 ) {
                  IpResourceRange range = rangeList.get(0);
                  is1.setIpResourceId( range.getIpResourceId() );
                  is1.setAddressFrom(  range.getAddressFrom() );
         }

             InetServ is2 = new InetServ();
             is2.setTypeId(myConst.INET_SERVICE_SUBIP);
             is2.setContractId(cid);
             is2.setDateFrom(new java.util.Date());
             is2.setDeviceId(deviceId);
             is2.setLogin(client_ip);
             is2.setTitle(client_ip);

         // Link services together
             is2.setParentId(is1.getId());         

         List<InetServ> resourceChildren = is1.getChildren();
          if(resourceChildren == null)
          {
            resourceChildren = new ArrayList<InetServ>();
            resourceChildren.add(is2);
            is1.setChildren(resourceChildren);
         }
          else
         {
            resourceChildren.add(is2);
            is1.setChildren(resourceChildren);
         }
         
           List<InetServOption> optionList = new ArrayList<InetServOption>();
         servService.inetServUpdate( is1, optionList, false, false, 0 );

         List<InetServOption> optionList2 = new ArrayList<InetServOption>();
         servService.inetServUpdate( is2, optionList2, false, false, 0 );


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 окт 2016, 08:53 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
вот это
Код:
is2.setParentId(is1.getId());

нужно вызывать ПОСЛЕ
Код:
servService.inetServUpdate( is1, optionList, false, false, 0 );

думаю, понятно, почему.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 окт 2016, 11:46 
Не в сети

Зарегистрирован: 19 ноя 2012, 18:49
Сообщения: 53
Карма: 0
barguzin2 писал(а):
вот это
Код:
is2.setParentId(is1.getId());

нужно вызывать ПОСЛЕ
Код:
servService.inetServUpdate( is1, optionList, false, false, 0 );

думаю, понятно, почему.


Ок, спасибо! помогло.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.032s | 21 Queries | GZIP : On ]