forum.bitel.ru http://forum.bitel.ru/ |
|
Создание сервиса Inet в договоре. (CRM) http://forum.bitel.ru/viewtopic.php?f=19&t=6958 |
Страница 1 из 1 |
Автор: | aiwbend [ 12 июл 2012, 15:50 ] |
Заголовок сообщения: | Создание сервиса Inet в договоре. |
Так я добавляю сервис в договор Код: 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) ); Пробовал так, результата нет... |
Автор: | Amir [ 12 июл 2012, 16:00 ] |
Заголовок сообщения: | Re: Создание сервиса Inet в договоре. |
Попробуйте Код: 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 ); в зависимости от того, где работает код (первый вариант не во всех случаех отработает - ServerContext не везде есть).... serv.setAddressFrom(byte_ipadrFrom); serv.setAddressTo(byte_ipadrTo); serv.setIpResourceId( ipResId ); // id ресурса ip адресов, из которого диапазон servService.inetServUpdate( serv, optionList, generateLogin, generatePassword, 0 ); generateLogin - boolean - нужно ли генерировать логин generatePassword - boolean - нужно ли генерировать пароль (аналогично галочкам из редактора в клиенте). |
Автор: | aiwbend [ 13 июл 2012, 08:19 ] |
Заголовок сообщения: | Re: Создание сервиса Inet в договоре. |
Работает, спасибо! |
Автор: | snark [ 16 июл 2012, 10:17 ] |
Заголовок сообщения: | Re: Создание сервиса Inet в договоре. |
В вики! |
Автор: | aiwbend [ 16 июл 2012, 10:39 ] |
Заголовок сообщения: | Re: Создание сервиса Inet в договоре. |
Еще вопрос, как генерировать следующий свободный интерфейс на определенном устройстве? |
Автор: | aiwbend [ 16 июл 2012, 11:31 ] |
Заголовок сообщения: | Re: Создание сервиса Inet в договоре. |
Разобрался. Код: 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); } } |
Автор: | lan31 [ 17 сен 2012, 15:43 ] |
Заголовок сообщения: | Re: Создание сервиса Inet в договоре. |
Пытаюсь создать сервис на договоре. Что тут не правильно? 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 ); |
Автор: | stark [ 17 сен 2012, 19:17 ] |
Заголовок сообщения: | Re: Создание сервиса Inet в договоре. |
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 ); Пополнее покажите ошибку |
Автор: | lan31 [ 18 сен 2012, 07:33 ] |
Заголовок сообщения: | Re: Создание сервиса Inet в договоре. |
Цитата: Пополнее покажите ошибку 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) |
Автор: | Amir [ 19 сен 2012, 15:34 ] |
Заголовок сообщения: | Re: Создание сервиса Inet в договоре. |
Не все обязательные поля заполнены. serv.setTypeId( ); |
Автор: | stark [ 19 сен 2012, 17:27 ] |
Заголовок сообщения: | Re: Создание сервиса Inet в договоре. |
вот тут есть пример создания сервиса 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 |
Автор: | lan31 [ 20 сен 2012, 09:11 ] |
Заголовок сообщения: | Re: Создание сервиса Inet в договоре. |
Как преобразовать ip адрес из типа String в тип Bytes? Необходимо чтобы воспользоваться командой: Код: serv.setAddressFrom(byte_ipadrFrom);
serv.setAddressTo(byte_ipadrTo); |
Автор: | aardvark [ 20 сен 2012, 11:35 ] |
Заголовок сообщения: | Re: Создание сервиса Inet в договоре. |
Код: Utils.convertIntToBytes(IpUtils.convertStringIPtoInt(java.lang.String ip_value)) Как-то так можно |
Автор: | Угрюмов Роман [ 19 май 2014, 18:30 ] |
Заголовок сообщения: | Re: Создание сервиса Inet в договоре. |
Одно не могу понять, как по Идентификатору устройства найти его Id? Идентификатор, это то что я забиваю в поле: Модули-> Штуе-> Устройства и ресурсы->Устройства->Основное->Идентификатор |
Автор: | stark [ 19 май 2014, 18:43 ] |
Заголовок сообщения: | Re: Создание сервиса Inet в договоре. |
Угрюмов Роман писал(а): Одно не могу понять, как по Идентификатору устройства найти его Id? Идентификатор, это то что я забиваю в поле: Модули-> Штуе-> Устройства и ресурсы->Устройства->Основное->Идентификатор Можно методом web-сервиса InetDeviceService.deviceRoot, но оно вернет все дерево(т.е путь от корня до устройства с нужным идентификатором). Надо будет пробежаться от корня до самого низа чтобы найти устройство . Специального метода вроде нет, можно sql запросом найти по таблице inet_device_{mid}. |
Автор: | Угрюмов Роман [ 21 май 2014, 10:48 ] |
Заголовок сообщения: | Re: Создание сервиса Inet в договоре. |
Спасибо! Получил, Но! а что за услуги contract_service? вижу услугу в таблице contract_service, открываю договор в клиенте, а в клиенте услуг нет. |
Автор: | stark [ 21 май 2014, 13:26 ] |
Заголовок сообщения: | Re: Создание сервиса Inet в договоре. |
Угрюмов Роман писал(а): Спасибо! Получил, Но! а что за услуги contract_service? вижу услугу в таблице contract_service, открываю договор в клиенте, а в клиенте услуг нет. Когда то давно (до 4.6 кажется) модули не добавлялись на договор, только услуги . Потом стали добавлять модули в contratc_module, а contract_service стало использоваться как "Разрешённые услуги" и в документации про них есть фраза "Вкладка Разрешённые услуги присутствует не для всех модулей, её назначение различно и описывается в документации конкретного модуля.". В общем они используются в разных модулях по разному. Отображаются на вкладке разрешенные услуги, если есть . |
Автор: | Угрюмов Роман [ 29 май 2014, 11:34 ] |
Заголовок сообщения: | Re: Создание сервиса Inet в договоре. |
Заработало! А как програмно из скрипта создать новое устройство Ну и соответственно программно нажать на кнопку "Перечитать на серверах"? РЕШЕНО viewtopic.php?f=19&t=6897 Теперь как создать интерфейс на устройстве ![]() РЕШЕНО! http://wiki.bitel.ru/index.php/%D0%9E%D ... 0%BE%D0%B2 Господа! Ну что за прелесть Вы BGBillin! Дай бог Вам здоровья! Спасибо! |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |