BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
СообщениеДобавлено: 20 авг 2015, 10:51 
Не в сети
Аватара пользователя

Зарегистрирован: 20 авг 2015, 10:12
Сообщения: 8
Карма: 0
Здравствуйте.
Возникла необходимость вытащить IP-адрес контракта из сервиса в модуле Inet.
Как это можно сделать через API?
Версия биллинга 6.0.

Сам нашел, что через ContractServiceManager.getContractServiceList(int cid, int mid, java.util.Date date) можно вытащить список разрешенных сервисов на дату. Но что с этим делать потом? В списке методов нет возможности узнать IP-адрес.
Или вытащить модули через ContractModuleManager.getContractModules(int contractId), что тоже не привело меня к нужному результату.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 авг 2015, 12:35 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Если вы имеете в виду дин. код, то можно примерно таким кодом:
Код:
ServerContext context = ServerContext.get();   
InetServService iss = context.getService(InetServService.class, INET_MODULE_ID);
System.out.println(IPUtils.convertIpToString(Utils.convertBytesToInt(iss.inetServGet(INET_SERVICE_ID).getAddressFrom())));
System.out.println(IPUtils.convertIpToString(Utils.convertBytesToInt(iss.inetServGet(INET_SERVICE_ID).getAddressTo())));

Сам не запускал, но думаю, должно заработать.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 авг 2015, 12:53 
Не в сети
Аватара пользователя

Зарегистрирован: 20 авг 2015, 10:12
Сообщения: 8
Карма: 0
vkulakov писал(а):
Если вы имеете в виду дин. код, то можно примерно таким кодом:
Код:
ServerContext context = ServerContext.get();   
InetServService iss = context.getService(InetServService.class, INET_MODULE_ID);
System.out.println(IPUtils.convertIpToString(Utils.convertBytesToInt(iss.inetServGet(INET_SERVICE_ID).getAddressFrom())));
System.out.println(IPUtils.convertIpToString(Utils.convertBytesToInt(iss.inetServGet(INET_SERVICE_ID).getAddressTo())));

Сам не запускал, но думаю, должно заработать.


Код:
ERROR:
ru.tctr.scripts.RegisterTerminal.onEvent(RegisterTerminal.java:42)
ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener.runScriptImpl(DynamicScriptEventListener.java:196)
ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener$ThreadedScriptEventListener.access$0(DynamicScriptEventListener.java:1)
ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener$ThreadedScriptEventListener$1.call(DynamicScriptEventListener.java:254)
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
java.util.concurrent.FutureTask.run(FutureTask.java:138)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
java.lang.Thread.run(Thread.java:662)
ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)


Ругается на iss.inetServGet(INET_SERVICE_ID).getAddressFrom();
Но за наводку спасибо :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 авг 2015, 13:04 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
А INET_SERVICE_ID заменили на свой идентификатор?

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 авг 2015, 13:05 
Не в сети
Аватара пользователя

Зарегистрирован: 20 авг 2015, 10:12
Сообщения: 8
Карма: 0
vkulakov писал(а):
А INET_SERVICE_ID заменили на свой идентификатор?

А, пардон, разобрался. Заменил не на сервис айди, а на тип сервиса.
Спасибо!


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

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


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

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


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

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