BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
СообщениеДобавлено: 15 ноя 2014, 14:30 
Не в сети

Зарегистрирован: 28 авг 2014, 09:26
Сообщения: 162
Карма: 0
Здравствуйте.

Есть код, который в зависимости от значения спискового параметра добавляет ТП(глоб. тарифный план) на договор. В этой группе ТП передаются опции для Inet модуля. Работает, только часть кода, которая добавляет ТП на договор, а вот оповещение сервиса на договоре не происходит (то есть опции не обновляются для сервиса). Подозреваю, что необходимо добавить какой-то метод, чтобы оповестить сервисы на договоре об изменениях в ТП.

Подскажите, какой метод нужно добавить?
Собственно, часть кода которая добавляет ТП на договор:
Код:
      ContractTariffManager CTM =  new ContractTariffManager( con );
      ContractTariff CT = new ContractTariff();
      CT.setContractId( contractId );
      CT.setTariffPlanId( GT );
      CT.setDate1( EventDate );
      CTM.updateContractTariff( CT );

Весрии:
Код:
Сервер: вер. 6.0 сборка 1756 от 11.06.2014 17:26:36
inet вер. 6.0 сборка 1400 от 11.06.2014 15:20:15


Важное примечание: Если в клиенте открыть ТП договора, нажать кнопку ОК, далее открыть сервис договора, нажать ОК, то опции применяются. Иначе, ничего не происходт. Собственно отсюда и предположение, что есть метод или класс, которые оповещает все компоненты.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 ноя 2014, 15:04 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Это в другой подфорум надо было, и там же среди первых тем есть
viewtopic.php?f=19&t=9813

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 ноя 2014, 09:15 
Не в сети

Зарегистрирован: 28 авг 2014, 09:26
Сообщения: 162
Карма: 0
Phricker
Спасибо, буду изучать.
Мне кажется и здесь контекст задачи подходит, и для того раздела тоже.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 ноя 2014, 10:49 
Не в сети

Зарегистрирован: 28 авг 2014, 09:26
Сообщения: 162
Карма: 0
Данное решение не срабатывает. Что еще можно посмотреть?
Код:
ContractTariffManager CTM =  new ContractTariffManager( con );
ContractTariff CT = new ContractTariff();
CT.setContractId( contractId );
CT.setTariffPlanId( GT );
CT.setDate1( EventDate );
CTM.updateContractTariff( CT );
EventProcessor.getInstance().publishAfterCommit(new ContractTariffUpdateEvent(0, contractId, CT, true));
//EventProcessor.getInstance().publish(new ContractTariffUpdateEvent(0, contractId, CT, true));


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 ноя 2014, 12:06 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Ошибку выдает какую-то или же просто не устанавливает опции?

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 ноя 2014, 12:19 
Не в сети

Зарегистрирован: 28 авг 2014, 09:26
Сообщения: 162
Карма: 0
Ни ошибок, ни варнингов.
server.script.log
Код:
11-17/12:15:45  INFO ["http-bio-/0.0.0.0-8080"-exec-7] ScriptEventListener - Caught event: ru.bitel.bgbilling.kernel.event.events.ContractParamBeforeChangeEvent
11-17/12:15:45  INFO ["http-bio-/0.0.0.0-8080"-exec-7] ScriptEventListener - Process time => 6
11-17/12:15:45  INFO ["http-bio-/0.0.0.0-8080"-exec-7] ScriptEventListener - Caught event: ru.bitel.bgbilling.kernel.event.events.ContractParamBeforeChangeEvent
11-17/12:15:45  INFO ["http-bio-/0.0.0.0-8080"-exec-7] ScriptEventListener - Process time => 2
11-17/12:15:45  INFO ["http-bio-/0.0.0.0-8080"-exec-7] ScriptEventListener - Caught event: ru.bitel.bgbilling.kernel.event.events.ContractParamBeforeChangeEvent
11-17/12:15:45  INFO [dyn-clss-evnt-lstnr-p-4-t-17] LoggingPrintStream - Update CT cid: 56
11-17/12:15:45  INFO ["http-bio-/0.0.0.0-8080"-exec-7] ScriptEventListener - Process time => 74


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 ноя 2014, 09:33 
Не в сети

Зарегистрирован: 28 авг 2014, 09:26
Сообщения: 162
Карма: 0
Вот это судя по всему MQ логам экшн UpdateContractTariffPlan, который оповещает Inet-модули...
Код:
[17/Nov/2014:12:43:18 +0600] 0.163 200 117 "POST /executer HTTP/1.1" UID=1 module=contract&cid=56&BGBillingSecret=XXX&pos=0&id=235&tpid=98&action=UpdateContractTariffPlan&date2=&comment=&date1=17.11.2014&


Какие методы еще возможно подключить для оповещения?

Незнаю на сколько это важно... Но во всех подключаемых ТП не установленны, ни цена, ни услуга - только модуль и опция.
Класс работает "Перед изменением параметров договора".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 ноя 2014, 12:16 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
oldb0y писал(а):
Данное решение не срабатывает. Что еще можно посмотреть?
Код:
ContractTariffManager CTM =  new ContractTariffManager( con );
ContractTariff CT = new ContractTariff();
CT.setContractId( contractId );
CT.setTariffPlanId( GT );
CT.setDate1( EventDate );
CTM.updateContractTariff( CT );
EventProcessor.getInstance().publishAfterCommit(new ContractTariffUpdateEvent(0, contractId, CT, true));
//EventProcessor.getInstance().publish(new ContractTariffUpdateEvent(0, contractId, CT, true));


Еще нужно добавить :
Код:
EventProcessor.getInstance().publishAfterCommit(new ContractTariffChangedEvent( cid);


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 ноя 2014, 12:38 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
stark писал(а):
Еще нужно добавить :
Код:
EventProcessor.getInstance().publishAfterCommit(new ContractTariffChangedEvent( cid));

А Димон ничего не сказал ((((
У вас кстати скобка не была закрыта

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 ноя 2014, 12:53 
Не в сети

Зарегистрирован: 28 авг 2014, 09:26
Сообщения: 162
Карма: 0
stark
Пошел процесс! Остался последний шаг. Оповещение происходит, но Inet-сервис его "не слушает". Иначе говоря, теперь в клиенте достаточно открыть Сервис, нажать сохранить и тогда опции применяются.

Помогите найти последний метод?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 ноя 2014, 13:04 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
oldb0y писал(а):
stark
Пошел процесс! Остался последний шаг. Оповещение происходит, но Inet-сервис его "не слушает". Иначе говоря, теперь в клиенте достаточно открыть Сервис, нажать сохранить и тогда опции применяются.

Помогите найти последний метод?




Если тариф изменить вручную на договоре, то сервис тоже не поменяет опцию?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 ноя 2014, 13:24 
Не в сети

Зарегистрирован: 28 авг 2014, 09:26
Сообщения: 162
Карма: 0
stark
Нет не меняет. Пока не откроешь сервис, и не нажмешь Сохранить.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 ноя 2014, 18:57 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Значит скрипт отрабатывает корректно. По умолчанию опции на сервисе не меняеются пока нет активной сессии.

Однако, можно добавить обработчик сервисов без сессий, а также можно добавить обработчик, реагирующий на события (после изменения нужно перезапустить InetAccounting):
http://bgbilling.ru/v6.1/doc/ch17s07s01.html (в самом низу).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 ноя 2014, 09:23 
Не в сети

Зарегистрирован: 28 авг 2014, 09:26
Сообщения: 162
Карма: 0
Phricker
stark
Amir

Спасибо вам ребята!

Все опции передаются, как только NAS'ку послал на биллинг. Вариант "без сессий" изучу нужен ли он в таком случае (ресурсы).

Ps Ну как так. Почему форум дал мне апнуть карму только Phricker.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 ноя 2014, 04:12 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
oldb0y писал(а):
Ps Ну как так. Почему форум дал мне апнуть карму только Phricker.

да он читер, постоянно помогают все, а апается только ему ((( :lol: :mrgreen:

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


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

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


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

Сейчас этот форум просматривают: Bing [Bot], Google [Bot] и гости: 1


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

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