forum.bitel.ru
http://forum.bitel.ru/

Inet опции на втором тарифном плане
http://forum.bitel.ru/viewtopic.php?f=19&t=9185
Страница 1 из 1

Автор:  lan31 [ 23 апр 2014, 08:47 ]
Заголовок сообщения:  Inet опции на втором тарифном плане

Как в коде обработчика активации сервисов извлечь inet опции на втором тарифном плане договора?

Этот код извлекает опции только на первом тарифном плане договора.
Код:
   public Object getOptions(ServiceActivatorEvent e)
      throws Exception
   {
       log.debug( "### getOptions ###" );

      Set<Integer> oldOptions = e.getOldOptions();
      Set<Integer> newOptions = e.getNewOptions();
 
      log.debug( "## oldOptions=" + oldOptions + ";" + "## newOptions=" + newOptions );

      int ruleId = 0;
      log.debug("## newOptions.size: " + newOptions.size() + " #");

      if( newOptions.size() > 0 )
      {
         ruleId = (Integer)newOptions.toArray()[0];
         InetOptionRuntime option = InetOptionRuntimeMap.getInstance().get( ruleId );

         pipeInExt = option.config.get( "pipe-in-ext", "" );
         pipeOutExt = option.config.get( "pipe-out-ext", "" );
      }
      log.debug( "## 2 pipe-in-ext=" + pipeInExt );
      log.debug( "## 2 pipe-out-ext=" + pipeOutExt );
      return null;
   }


Автор:  skyb [ 23 апр 2014, 09:24 ]
Заголовок сообщения:  Re: Inet опции на втором тарифном плане

так циклом пройтись чтоб все узнать
Код:
for (int i =0; i<newOptions.size(); i++)
{
print(newOptions[i]);
}

Автор:  Cromeshnic [ 23 апр 2014, 09:43 ]
Заголовок сообщения:  Re: Inet опции на втором тарифном плане

Хм, это не проблема обработчика. Он вообще ничего не должен знать о тарифных планах.

А у вас как ТП устроены?
И зачем их 2?

Вообще, документация говорит, что для одного типа трафика опции будут получаться только из первого найденного тарифа с этим типом трафика:
Цитата:
Порядок просмотра тарифных планов соответствует Алгоритму 2.

Алгоритм 2:

1. выбирается список тарифов, содержащих модульное поддерево экземпляра модуля среди персональных тарифов договора, используется фильтр по дате, сортировка по позиции тарифа;
2. выбирается список тарифов, содержащих модульное поддерево экземпляра модуля среди глобальных тарифов договора, используется фильтр по дате, сортировка по позиции тарифа.
Для каждой из тарифицируемых сущностей (услуга, тип трафика) ищется последовательно цена в списках 1 и 2. Как только находится тариф с ценой - поиск прекращается.

Автор:  vkulakov [ 23 апр 2014, 11:12 ]
Заголовок сообщения:  Re: Inet опции на втором тарифном плане

Cromeshnic всё правильно говорит: если опции засовывать в тип трафика, то в результирующем наборе будут только опции из первого попавшегося типа трафика. Но бывают ситуации когда удобно, чтобы было несколько тарифов и на сервисе были опции из всех тарифов. Для этого можно разместить опции не в типе трафика, а сразу в корне тарифа. У нас это используется для подключения пакетов ТВ-каналов: каждому тарифку соответствует свой набор каналов, соответственно, нужно сразу несколько тарифов на одном договоре.

Пример:
Изображение

Стоит заметить, что версия у нас довольно старая.

Вложения:
Тарифный план с опцией в корне.png
Тарифный план с опцией в корне.png [ 11.83 КБ | Просмотров: 3285 ]

Автор:  skyb [ 23 апр 2014, 11:51 ]
Заголовок сообщения:  Re: Inet опции на втором тарифном плане

имхо конечно, но не лучше сделать все в одном тарифе, и не плодить тарифы?

Автор:  vkulakov [ 23 апр 2014, 12:07 ]
Заголовок сообщения:  Re: Inet опции на втором тарифном плане

Это как?

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/