forum.bitel.ru http://forum.bitel.ru/ |
|
Возможно ли активировать Тарифные опции из скрипта в BGB5.2? http://forum.bitel.ru/viewtopic.php?f=22&t=7407 |
Страница 1 из 1 |
Автор: | nikav80 [ 08 ноя 2012, 23:19 ] |
Заголовок сообщения: | Возможно ли активировать Тарифные опции из скрипта в BGB5.2? |
В BGB 5.1 есть метод ContractTariffOptionActivateManager(con).activateOption(int userId, int cid, int optionId, int modeId, boolean web) и он работает, а в BGB 5.2 метод немного изменился ContractTariffOptionActivateManager(con).activateOption(ru.bitel.bgbilling.kernel.tariff.option.common.service.TariffOptionService tariffOptionService, int userId, int cid, int optionId, int modeId, boolean web) и я никак не пойму как он работает? |
Автор: | stark [ 09 ноя 2012, 19:19 ] |
Заголовок сообщения: | Re: Возможно ли активировать Тарифные опции из скрипта в BGB |
Из скрипта вызываете? Тогда Код: ServerContext context = ServerContext.get(); TariffOptionService service = context.getService( TariffOptionService.class, INET_MODULE_ID ); где INET_MODULE_ID - код модуля inet. |
Автор: | nikav80 [ 09 ноя 2012, 21:13 ] |
Заголовок сообщения: | Re: Возможно ли активировать Тарифные опции из скрипта в BGB |
А если из action (из ЛК)? |
Автор: | dimOn [ 12 ноя 2012, 11:12 ] |
Заголовок сообщения: | Re: Возможно ли активировать Тарифные опции из скрипта в BGB |
В смысле из самописного экшена? |
Автор: | nikav80 [ 12 ноя 2012, 11:27 ] |
Заголовок сообщения: | Re: Возможно ли активировать Тарифные опции из скрипта в BGB |
Да. |
Автор: | dimOn [ 12 ноя 2012, 11:34 ] |
Заголовок сообщения: | Re: Возможно ли активировать Тарифные опции из скрипта в BGB |
Ну так же на самом деле. Лучше сразу вызывать через вызов сервиса TariffOptionService, как это в родном веб экшене сделано: tariffOptionService.contractTariffOptionActivate( cid, optionId, modeId, true ); |
Автор: | nikav80 [ 12 ноя 2012, 11:38 ] |
Заголовок сообщения: | Re: Возможно ли активировать Тарифные опции из скрипта в BGB |
Спасибо, попробую! Посмотрите пожалуйста еще одну тему касающуюся Тарифных опций http://forum.bgbilling.ru/viewtopic.php?f=5&t=7408 |
Автор: | Bazhutyan [ 20 дек 2012, 05:55 ] |
Заголовок сообщения: | Re: Возможно ли активировать Тарифные опции из скрипта в BGB |
при вызове tariffOptionService.contractTariffOptionActivate( cid, optionId, modeId, true ) из события "Запрос учетного периода" летят ошибки: Код: script 12-20/11:45:15 ERROR [rdsLstnr-p-9-t-3] ScriptEventListener - Eval error: java.lang.Exception: java.lang.NullPointerException java.util.concurrent.ExecutionException: java.lang.Exception: java.lang.NullPointerException at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:232) at java.util.concurrent.FutureTask.get(FutureTask.java:91) at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener$ThreadedScriptEventListener.runScriptImpl(DynamicScriptEventListener.java:267) at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener.runScript(DynamicScriptEventListener.java:149) at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener.notify(DynamicScriptEventListener.java:117) at ru.bitel.bgbilling.kernel.event.LocalEventProcessor.request(LocalEventProcessor.java:240) at ru.bitel.bgbilling.kernel.event.EventProcessor.request(EventProcessor.java:848) at ru.bitel.bgbilling.modules.inet.runtime.InetServRuntime.accountingPeriodActivate(InetServRuntime.java:313) at ru.bitel.bgbilling.modules.inet.runtime.InetServRuntime.accountingPeriodCheck(InetServRuntime.java:401) at ru.bitel.bgbilling.modules.inet.runtime.InetApplication.authorization0(InetApplication.java:640) at ru.bitel.bgbilling.modules.inet.runtime.InetApplication.authorization(InetApplication.java:629) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authorization(InetRadiusProcessor.java:770) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authenticationImpl(InetRadiusProcessor.java:567) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:462) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:1) at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.authentication(RadiusSession.java:115) at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.accessRequest(RadiusSession.java:92) at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequestImpl(RadiusProcessor.java:390) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:379) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:1) at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequest(RadiusProcessor.java:377) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:58) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:1) at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:213) at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:135) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40) Caused by: java.lang.Exception: java.lang.NullPointerException at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener.runScriptImpl(DynamicScriptEventListener.java:200) at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener$ThreadedScriptEventListener.access$0(DynamicScriptEventListener.java:1) at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener$ThreadedScriptEventListener$1.call(DynamicScriptEventListener.java:254) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) ... 4 more Caused by: java.lang.NullPointerException at ru.bitel.bgbilling.kernel.tariff.option.server.bean.ContractTariffOptionDao.getFromRS(ContractTariffOptionDao.java:209) at ru.bitel.bgbilling.kernel.tariff.option.server.bean.ContractTariffOptionDao.list(ContractTariffOptionDao.java:82) at ru.bitel.bgbilling.kernel.tariff.option.server.bean.ContractTariffOptionActivateManager.activateOptionWhithSum(ContractTariffOptionActivateManager.java:211) at ru.bitel.bgbilling.kernel.tariff.option.server.bean.ContractTariffOptionActivateManager.activateOption(ContractTariffOptionActivateManager.java:62) at ru.bitel.bgbilling.kernel.tariff.option.server.service.TariffOptionServiceImpl.contractTariffOptionActivate(TariffOptionServiceImpl.java:289) at ru.iks.inet.dyn.tariff.myAccountingPeriod.onEvent(myAccountingPeriod.java:87) at ru.iks.inet.dyn.tariff.myAccountingPeriod.onEvent(myAccountingPeriod.java:25) at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener.runScriptImpl(DynamicScriptEventListener.java:196) ... 8 more причем эта ошибка пишется два раза. В чем может быть проблема? Вот код: Код: ServerContext context = new ServerContext(setup, connectionSet, 1, UserId); TariffOptionService tariffOptionService = context.getService( TariffOptionService.class, 1 ); tariffOptionService.contractTariffOptionActivate( cid, optionId, modeId, true ); Если повторить код метода activateOptionWhithSum из класса ContractTariffOptionActivateManager, то ошибок нет, опция активируется, учетный период создается. |
Автор: | Cromeshnic [ 20 дек 2012, 08:56 ] |
Заголовок сообщения: | Re: Возможно ли активировать Тарифные опции из скрипта в BGB |
Зачем Код: new ServerContext ?вам же сказали: Код: ServerContext context = ServerContext.get();
|
Автор: | Bazhutyan [ 21 дек 2012, 03:15 ] |
Заголовок сообщения: | Re: Возможно ли активировать Тарифные опции из скрипта в BGB |
Cromeshnic писал(а): Зачем Код: new ServerContext ?вам же сказали: Код: ServerContext context = ServerContext.get(); Так тоже не работает. Эту же ошибку получаю. Если вызов делать из глобального класса, то все работает нормально и через new ServerContext и через ServerContext.get() Видимо какая-то проблема при вызове по Event'у |
Автор: | Cromeshnic [ 21 дек 2012, 06:32 ] |
Заголовок сообщения: | Re: Возможно ли активировать Тарифные опции из скрипта в BGB |
Зависит от евента. Вернее, где отрабатывает евент. Видимо, это происходит не в сервере или шедулере, а где-нибудь в радиусе. Что-то такое припоминаю, связано с классом-снглтоном UserMap, который в радиусе не инициализирован. Сделайте так перед вызовом деактивации: Код: if(UserMap.getMap().size()==0){
UserMap.initUserMap(con); } |
Автор: | Cromeshnic [ 21 дек 2012, 06:34 ] |
Заголовок сообщения: | Re: Возможно ли активировать Тарифные опции из скрипта в BGB |
Ах, да, UserMap: Код: import ru.bitel.bgbilling.server.util.UserMap;
|
Автор: | Bazhutyan [ 28 дек 2012, 03:34 ] |
Заголовок сообщения: | Re: Возможно ли активировать Тарифные опции из скрипта в BGB |
Спасибо, помогло! |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |