BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 29 мар 2024, 03:40

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




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
СообщениеДобавлено: 16 дек 2016, 18:55 
Не в сети
Клиент

Зарегистрирован: 10 ноя 2014, 18:38
Сообщения: 396
Карма: 0
код типа:

Код:
public void onEvent( Event event1, Setup setup2, ConnectionSet connectionSet3 )      {

Connection con = connectionSet3.getConnection();
int cid = event1.getContractId();
ContractServiceManager csm = new ContractServiceManager(con);
Set csmSet = csm.getContractServiceSet(cid, new Date());

Iterator iterator = csmSet.iterator();
while (iterator.hasNext()){   logger.info("Абонплата:"+iterator.next());      }

}




Возвращает какую-то дичь, которая ни числом ни качеством не соответствует тому, что прописано в договоре во вкладке договор=>модули=> абонентская плата=> <список услуг(абонплат)>

Собственно поэтому вопрос - Как получить список активных на дату услуг(абонплат)договора?
К сожалению и в таблице npay_service_object_[mid] в этот момент (событие изменения абонплаты, вызванное добавлением услуги/абонплаты) почему-то нет добавленной абонплаты, хотя событие - асинхронное..


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

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
ЕМНИМП оно все тут
https://bgbilling.ru/v7.0/javadoc/bitel ... nager.html

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 дек 2016, 19:03 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
И кстати то событие о котором вы упомянули так же ведет к ссылке которой я дал
https://bgbilling.ru/v7.0/javadoc/ru/bi ... Event.html

В нем есть ServiceObject
https://bgbilling.ru/v7.0/javadoc/bitel ... bject.html
Который собственно в том же пакете что и вышеприведенная ссылка

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


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

Зарегистрирован: 10 ноя 2014, 18:38
Сообщения: 396
Карма: 0
Благодарю!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 дек 2016, 19:42 
Не в сети
Клиент

Зарегистрирован: 10 ноя 2014, 18:38
Сообщения: 396
Карма: 0
запускаю скрипт(по событию, добавлением абонплаты с id 359).

Код:

ServiceObjectManager som = new ServiceObjectManager(con, Megogo_MID);
List Lsom1 = som.getServiceObjectList(cid, new Date()); // <ServiceObject>
ServiceObject co = new ServiceObject();
      
for (int j = 0; j<Lsom1.size(); j++) {   
         co = (ServiceObject) Lsom1.get(j);
         logger.info(co.getServiceId()+" VOT "+co.getServiceTitle());
      }



Код:
17:31:31  INFO [dyn-clss-evnt-lstnr-p-5-t-623] Megogo_service_add - 82 VOT Ежемесячная абонентская плата, Интернет
12-16/17:31:31  INFO [dyn-clss-evnt-lstnr-p-5-t-623] Check_service_order - 84 VOT Ежемесячная абонентская плата, Пакет 2в1
12-16/17:31:31  INFO [dyn-clss-evnt-lstnr-p-5-t-623] Check_service_order - 85 VOT Ежемесячная абонентская плата, Пакет 3в1
----------- вывод из цикла тут заканчиается. ниже - вывод из таблицы(другим способом) только нужной услуги, которую мы отлавливаем... по идее выше уже должна была быть запись про услугу 359

12-16/17:31:31  INFO [dyn-clss-evnt-lstnr-p-5-t-623] Check_service_order - SQL: select sid from npay_service_object_4 where (cid=15578) and ((date1 is NULL) or (date1<NOW())) and ((date2 is NULL) or (date2>NOW())) and (sid IN (359,360,361,362)) limit 1
12-16/17:31:31 ERROR [event-proc-p-2-t-1] ScriptEventListener - Eval error: java.lang.Exception: java.sql.SQLException: Illegal operation on empty result set.


sql возвращает пустоту и скрипт вываливается(нет сервиса в базе).

выполняется это в момент события изменения абонплаты.
логи показывают, что она так и не учтена(выведено 3шт, а добавлена была оператором 4я с id 359) ...

после чтения логов, ничего более не делая запустил sql запрос(который тут выдал пустой результат), - получил код добавленной услуги, это 359....
повторный запуск скрипта (по update абонплаты) выводит
12-16/17:44:17 INFO [dyn-clss-evnt-lstnr-p-5-t-625] Check_service_order - 82 VOT Ежемесячная абонентская плата, Интернет
12-16/17:44:17 INFO [dyn-clss-evnt-lstnr-p-5-t-625] Check_service_order - 84 VOT Ежемесячная абонентская плата, Пакет 2в1
12-16/17:44:17 INFO [dyn-clss-evnt-lstnr-p-5-t-625] Check_service_order - 85 VOT Ежемесячная абонентская плата, Пакет 3в1
12-16/17:44:17 INFO [dyn-clss-evnt-lstnr-p-5-t-625] Check_service_order - 359 VOT Пакет 1

---------------------------



похоже данные в указанные элементы среды попадают после завершения обработки события и в процессе обработки события так их не вынуть.


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

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
В какой версии ? Для 7.0 исправлено и будет в следующем обновлении.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 янв 2017, 14:24 
Не в сети
Клиент

Зарегистрирован: 10 ноя 2014, 18:38
Сообщения: 396
Карма: 0
stark писал(а):
В какой версии ? Для 7.0 исправлено и будет в следующем обновлении.


у меня 6.0... но намёк понятен :))))))) жаль трудно пока это осуществить. ;)


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

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


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

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


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

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