BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 17 июн 2024, 15:20

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




Начать новую тему Ответить на тему  [ Сообщений: 18 ] 
Автор Сообщение
 Заголовок сообщения: Создание сервиса Inet в договоре.
СообщениеДобавлено: 12 июл 2012, 15:50 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
Так я добавляю сервис в договор

Код:
InetServDao isd = new InetServDao(con, 15, 0);
InetServ service = new InetServ();
service.setTypeId(1);
service.setContractId(cid);
service.setDeviceId(device_id_bill);
service.setInterfaceId(port_id);
service.setAddressFrom(byte_ipadrFrom);
service.setAddressTo(byte_ipadrTo);
service.setLogin(Integer.toString(cid));
service.setPassword("Redback");
isd.updateImpl(service);


но добавляется он как-то фиктивно, приходится открывать его и кликать ОК, только после этого сервис "бронирует" за собой ip и порт и становится работоспособным.
Как понял нужно какое-то событие вызывать при добавлении? Если да то какое, если нет то как тогда?

Код:
EventProcessor.getInstance().request(new InetServChangingEvent(15, 0, service) );

Пробовал так, результата нет...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сервиса Inet в договоре.
СообщениеДобавлено: 12 июл 2012, 16:00 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Попробуйте
Код:
final ServerContext context = ServerContext.get();
final InetServService servService = context.newService( InetServService.class, moduleId );
...
serv.setAddressFrom(byte_ipadrFrom);
serv.setAddressTo(byte_ipadrTo);
serv.setIpResourceId( ipResId ); // id ресурса ip адресов, из которого диапазон

servService.inetServUpdate( serv, optionList, generateLogin, generatePassword, 0 );
или
Код:
final InetServService servService = ServiceFactory.newService( InetServService.class, moduleId );
...
serv.setAddressFrom(byte_ipadrFrom);
serv.setAddressTo(byte_ipadrTo);
serv.setIpResourceId( ipResId ); // id ресурса ip адресов, из которого диапазон

servService.inetServUpdate( serv, optionList, generateLogin, generatePassword, 0 );
в зависимости от того, где работает код (первый вариант не во всех случаех отработает - ServerContext не везде есть).

generateLogin - boolean - нужно ли генерировать логин
generatePassword - boolean - нужно ли генерировать пароль (аналогично галочкам из редактора в клиенте).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сервиса Inet в договоре.
СообщениеДобавлено: 13 июл 2012, 08:19 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
Работает, спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сервиса Inet в договоре.
СообщениеДобавлено: 16 июл 2012, 10:17 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
В вики!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сервиса Inet в договоре.
СообщениеДобавлено: 16 июл 2012, 10:39 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
Еще вопрос, как генерировать следующий свободный интерфейс на определенном устройстве?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сервиса Inet в договоре.
СообщениеДобавлено: 16 июл 2012, 11:31 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
Разобрался.

Код:
package ru.rta.bgbilling.inet;

import ru.bitel.bgbilling.kernel.script.server.dev.GlobalScriptBase;
import ru.bitel.bgbilling.server.util.Setup;
import ru.bitel.common.sql.ConnectionSet;
import ru.bitel.bgbilling.kernel.container.managed.ServerContext;
import java.util.Date;
import ru.bitel.oss.systems.inventory.resource.common.DeviceInterfaceService;

public class TestNextFreeInterface
   extends GlobalScriptBase
{
   @Override
   public void execute( Setup setup, ConnectionSet connectionSet )
      throws Exception
   {
      Date d = new Date();
      ServerContext context = ServerContext.get();
      DeviceInterfaceService DeviceInterfaceService = context.newService( DeviceInterfaceService.class, 15 ); //moduleId
      int nextFreePort = DeviceInterfaceService.nextFreeInterface(909, d, d); //(int deviceId, Date dateFrom, Date dateTo)
      print (nextFreePort);
   }

}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сервиса Inet в договоре.
СообщениеДобавлено: 17 сен 2012, 15:43 
Не в сети

Зарегистрирован: 06 мар 2011, 09:56
Сообщения: 152
Карма: 0
Пытаюсь создать сервис на договоре. Что тут не правильно?

EXCEPTIONS:
Method Invocation servService.inetServUpdate
Method Invocation servService.inetServUpdate : at Line: 501 : in file: CSVtoBGBilling2 : servService .inetServUpdate ( serv , InetServOption , false , false , 0 )

Код:
final ServerContext context = ServerContext.get();
final InetServService servService = context.newService( InetServService.class, 1 );
InetServ serv = new InetServ();
serv.setIpResourceId( 1 ); // id ресурса ip адресов, из которого диапазон
serv.setContractId(cid);
InetServOption = new ArrayList();
servService.inetServUpdate( serv, InetServOption, false, false, 0 );


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сервиса Inet в договоре.
СообщениеДобавлено: 17 сен 2012, 19:17 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
lan31 писал(а):
Пытаюсь создать сервис на договоре. Что тут не правильно?

EXCEPTIONS:
Method Invocation servService.inetServUpdate
Method Invocation servService.inetServUpdate : at Line: 501 : in file: CSVtoBGBilling2 : servService .inetServUpdate ( serv , InetServOption , false , false , 0 )

Код:
final ServerContext context = ServerContext.get();
final InetServService servService = context.newService( InetServService.class, 1 );
InetServ serv = new InetServ();
serv.setIpResourceId( 1 ); // id ресурса ip адресов, из которого диапазон
serv.setContractId(cid);
InetServOption = new ArrayList();
servService.inetServUpdate( serv, InetServOption, false, false, 0 );

Пополнее покажите ошибку


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сервиса Inet в договоре.
СообщениеДобавлено: 18 сен 2012, 07:33 
Не в сети

Зарегистрирован: 06 мар 2011, 09:56
Сообщения: 152
Карма: 0
Цитата:
Пополнее покажите ошибку

Method Invocation servService.inetServUpdate
Method Invocation servService.inetServUpdate : at Line: 502 : in file: CSVtoBGBilling2 : servService .inetServUpdate ( serv , InetServOption , false , false , 0 )

Called from method: setAddress : at Line: 183 : in file: CSVtoBGBilling2 : setAddress ( con , cpm , contract .getID ( ) , address )
Called from method: main : at Line: -1 : in file: <Called from Java Code> : <Compiled Java Code>
Target exception: java.lang.NullPointerException

at bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:97)
at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)
at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
at bsh.BSHBlock.evalBlock(BSHBlock.java:131)
at bsh.BSHBlock.eval(BSHBlock.java:81)
at bsh.BshMethod.invokeImpl(BshMethod.java:362)
at bsh.BshMethod.invoke(BshMethod.java:258)
at bsh.BshMethod.invoke(BshMethod.java:186)
at bsh.Name.invokeLocalMethod(Name.java:917)
at bsh.Name.invokeMethod(Name.java:804)
at bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:75)
at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)
at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
at bsh.BSHBlock.evalBlock(BSHBlock.java:131)
at bsh.BSHBlock.eval(BSHBlock.java:81)
at bsh.BSHBlock.eval(BSHBlock.java:47)
at bsh.BSHForStatement.eval(BSHForStatement.java:111)
at bsh.BSHBlock.evalBlock(BSHBlock.java:131)
at bsh.BSHBlock.eval(BSHBlock.java:81)
at bsh.BSHBlock.eval(BSHBlock.java:47)
at bsh.BSHIfStatement.eval(BSHIfStatement.java:48)
at bsh.BSHBlock.evalBlock(BSHBlock.java:131)
at bsh.BSHBlock.eval(BSHBlock.java:81)
at bsh.BshMethod.invokeImpl(BshMethod.java:362)
at bsh.BshMethod.invoke(BshMethod.java:258)
at bsh.BshMethod.invoke(BshMethod.java:186)
at bsh.Name.invokeLocalMethod(Name.java:917)
at bsh.Name.invokeMethod(Name.java:804)
at bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:75)
at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)
at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
at bsh.BSHBlock.evalBlock(BSHBlock.java:131)
at bsh.BSHBlock.eval(BSHBlock.java:81)
at bsh.BshMethod.invokeImpl(BshMethod.java:362)
at bsh.BshMethod.invoke(BshMethod.java:258)
at bsh.BshMethod.invoke(BshMethod.java:186)
at bsh.This.invokeMethod(This.java:255)
at bsh.This.invokeMethod(This.java:174)
at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.invoke(ScriptInstance.java:385)
at bitel.billing.server.script.global.bean.GlobalScriptMachine.runScriptImpl(GlobalScriptMachine.java:140)
at bitel.billing.server.script.global.bean.GlobalScriptMachine.runScript(GlobalScriptMachine.java:73)
at bitel.billing.server.script.global.bean.GlobalScriptManager.executeGlobalScript(GlobalScriptManager.java:40)
at bitel.billing.server.script.global.action.ActionExecuteScript.doAction(ActionExecuteScript.java:32)
at bitel.billing.server.Executer.doModule(Unknown Source)
at bitel.billing.server.Executer$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at bitel.billing.server.Executer.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:48)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
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)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сервиса Inet в договоре.
СообщениеДобавлено: 19 сен 2012, 15:34 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Не все обязательные поля заполнены.
serv.setTypeId( );


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сервиса Inet в договоре.
СообщениеДобавлено: 19 сен 2012, 17:27 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
вот тут есть пример создания сервиса

http://wiki.bgbilling.ru/index.php/%D0% ... D0%B0_INET),_ip-%D1%80%D0%B5c%D1%83%D1%80%D1%81%D1%8B,_%D1%82%D0%B8%D0%BF%D1%8B_%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB(%D0%B2_%D0%BE%D0%BF%D1%86%D0%B8%D0%B8_INET),_%D0%BF%D1%80%D0%B8%D0%B2%D1%8F%D0%B7%D0%BA%D1%83_%D0%B4%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%BE%D0%B2_%D0%BA_%D1%88%D0%BB%D1%8E%D0%B7%D0%B0%D0%BC(%D0%B2_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D1%8B_Inet).%D0%A1%D1%85%D0%B5%D0%BC%D0%B0_dhcp-mikrotik-dlink/mirotik


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сервиса Inet в договоре.
СообщениеДобавлено: 20 сен 2012, 09:11 
Не в сети

Зарегистрирован: 06 мар 2011, 09:56
Сообщения: 152
Карма: 0
Как преобразовать ip адрес из типа String в тип Bytes?
Необходимо чтобы воспользоваться командой:

Код:
serv.setAddressFrom(byte_ipadrFrom);
serv.setAddressTo(byte_ipadrTo);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сервиса Inet в договоре.
СообщениеДобавлено: 20 сен 2012, 11:35 
Не в сети

Зарегистрирован: 22 дек 2008, 13:02
Сообщения: 270
Откуда: Москва
Карма: 27
Код:
Utils.convertIntToBytes(IpUtils.convertStringIPtoInt(java.lang.String ip_value))

Как-то так можно


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сервиса Inet в договоре.
СообщениеДобавлено: 19 май 2014, 18:30 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Одно не могу понять, как по Идентификатору устройства найти его Id?
Идентификатор, это то что я забиваю в поле: Модули-> Штуе-> Устройства и ресурсы->Устройства->Основное->Идентификатор


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сервиса Inet в договоре.
СообщениеДобавлено: 19 май 2014, 18:43 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Угрюмов Роман писал(а):
Одно не могу понять, как по Идентификатору устройства найти его Id?
Идентификатор, это то что я забиваю в поле: Модули-> Штуе-> Устройства и ресурсы->Устройства->Основное->Идентификатор



Можно методом web-сервиса InetDeviceService.deviceRoot, но оно вернет все дерево(т.е путь от корня до устройства с нужным идентификатором). Надо будет пробежаться от корня до самого низа чтобы найти устройство . Специального метода вроде нет, можно sql запросом найти по таблице inet_device_{mid}.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сервиса Inet в договоре.
СообщениеДобавлено: 21 май 2014, 10:48 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Спасибо! Получил, Но! а что за услуги contract_service?
вижу услугу в таблице contract_service, открываю договор в клиенте, а в клиенте услуг нет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сервиса Inet в договоре.
СообщениеДобавлено: 21 май 2014, 13:26 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Угрюмов Роман писал(а):
Спасибо! Получил, Но! а что за услуги contract_service?
вижу услугу в таблице contract_service, открываю договор в клиенте, а в клиенте услуг нет.



Когда то давно (до 4.6 кажется) модули не добавлялись на договор, только услуги . Потом стали добавлять модули в contratc_module, а contract_service стало использоваться как "Разрешённые услуги" и в документации про них есть фраза "Вкладка Разрешённые услуги присутствует не для всех модулей, её назначение различно и описывается в документации конкретного модуля.". В общем они используются в разных модулях по разному. Отображаются на вкладке разрешенные услуги, если есть .


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сервиса Inet в договоре.
СообщениеДобавлено: 29 май 2014, 11:34 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Заработало! А как програмно из скрипта создать новое устройство Ну и соответственно программно нажать на кнопку "Перечитать на серверах"?
РЕШЕНО viewtopic.php?f=19&t=6897
Теперь как создать интерфейс на устройстве :-) ?
РЕШЕНО! http://wiki.bitel.ru/index.php/%D0%9E%D ... 0%BE%D0%B2
Господа! Ну что за прелесть Вы BGBillin! Дай бог Вам здоровья! Спасибо!


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

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


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

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


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

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