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

[6.0] Смена статуса, дай знать всем
http://forum.bitel.ru/viewtopic.php?f=19&t=12030
Страница 1 из 1

Автор:  oldb0y [ 21 окт 2016, 10:37 ]
Заголовок сообщения:  [6.0] Смена статуса, дай знать всем

Здравствуйте.

Ошибочно полагал, что метода changeStatus() достаточно, чтобы оповестить все модули об изменении статуса. Использовал вот этот код для именения статуса:
Код:
            ContractStatusManager csm  = new ContractStatusManager( con );
            ContractStatus status = new ContractStatus();
            status.setContractId( CID );
            status.setDateFrom( CURDATE );
            status.setStatus( nstatus );
            csm.changeStatus( status, nstatus );


Выяснилось, что до Inet-модуля информация о новом статусе может не дойти (стоит статус Включен[Авторизация успешна]). А при подключении абонента ошибка 691. Пока через клиент БГБ повторно не изменишь статус. Через поиск нашел следующий код:
Код:
            EventProcessor.getInstance().publish( new ContractStatusChangedEvent(status, 0) );
            EventProcessor.getInstance().publish( new ContractStatusChangedTopicEvent(status, 0) );


В конетксте понял, что этого кода достаточно, чтобы оповещение о новом статусе дошла до Inet-модуля. Это так? Больше ничего не нужно добавлять? А еще интерисует нужно ли кидать еще какие-нибудь оповещения для модуля Npay?

Автор:  barguzin2 [ 21 окт 2016, 12:50 ]
Заголовок сообщения:  Re: [6.0] Смена статуса, дай знать всем

csm.changeStatus(status, 0, true); Здесь true - кидать событие изменения статуса. доходит до всех :)

И еще, второй параметр - это Id пользователя, от которого меняется статус, а вы туда пихаете Id устанавливаемого статуса, странно как-то. Обычно 0 ставится, это Сервер.
https://bgbilling.ru/v6.0/javadoc/bitel ... nager.html

Автор:  oldb0y [ 21 окт 2016, 13:40 ]
Заголовок сообщения:  Re: [6.0] Смена статуса, дай знать всем

barguzin2
Извините, в процессе составления сообщения перемудрил.. Да там всегда 0 отправляю.

А вот processEvent в упор не видел. Спасибо..

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