forum.bitel.ru http://forum.bitel.ru/ |
|
Присвоение статического IP Inet уже выданного пользователю http://forum.bitel.ru/viewtopic.php?f=19&t=12241 |
Страница 1 из 1 |
Автор: | iseed [ 07 фев 2017, 11:45 ] |
Заголовок сообщения: | Присвоение статического IP Inet уже выданного пользователю |
Доброго дня. Имеем billing 6.1 Сервер: вер. 6.1.1177 / 19.08.2016 11:58:42 os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_80 inet: вер. 6.1.734 / 22.06.2016 13:23:18 Хочу реализовать скрипт присвоения статической записи IP в случае если абонент получил IP из определенного пула. import ru.bitel.bgbilling.kernel.script.server.dev.GlobalScriptBase; Проблема в том, что iss.inetServUpdate создает запись в inv_ip_resource_subscription_9 но не изменяет inet_serv_9 поля ipResourceId и IpResourceSubscribeId. Насколько видно из реализации InetServServiceImpl.inetServUpdateInternal в нем есть вызов: String titlePattern = this.getTitlePattern(inetServ, servTypeConfig, device); Не подскажете как правильно сохранить ItemServ чтобы присваивались изменения из is? А в частности: is.setIpResourceId(resourceId); is.setAddressFrom(ic.getInetAddressBytes()); и id из inv_ip_resource_subscription_9 |
Автор: | Phricker [ 07 фев 2017, 12:20 ] |
Заголовок сообщения: | Re: Присвоение статического IP Inet уже выданного пользовате |
Код: ServerContext context = ServerContext.get(); ResourceService resourceService = context.getService(ResourceService.class, 12); InetServService inetServService = context.getService(InetServService.class, 12); ArrayList<Integer> ipResourceCategoryIds = new ArrayList<Integer>(); ipResourceCategoryIds.add(55); List<IpResourceRange> freeIpResourceRangeList = resourceService.freeIpResourceRangeList(ipResourceCategoryIds, null, new Date(), new Date(), 1, 1); if (!freeIpResourceRangeList.isEmpty()) { inetServService.inetServList(304741, null); InetServ inetServ = inetServService.inetServGet(317359); inetServ.setAddressFrom(freeIpResourceRangeList.get(0).getAddressFrom()); inetServ.setAddressTo(freeIpResourceRangeList.get(0).getAddressTo()); inetServService.inetServUpdate(inetServ, new ArrayList<InetServOption>(), false, false, 0); } Такой код прописывает в таблицу. |
Автор: | iseed [ 07 фев 2017, 16:35 ] |
Заголовок сообщения: | Re: Присвоение статического IP Inet уже выданного пользовате |
Да. Но тут есть существенная разница. Я говорю о изменению существующего сервиса. Переписал середку скрипта: InetServ oldIs = is.clone(); InetServWrapper import ru.bitel.bgbilling.kernel.script.server.dev.GlobalScriptBase; InetSubscriber import bitel.billing.server.contract.bean.ContractUtils; Создание записи IpResourceSubscription работает. Обновление записи InetServ работает. Но публикация изменений по прежнему не работает. Может кто скажет что не так в вызываемых мною событиях так как это события из InetServServiceImpl.inetServUpdateInternal которые вызываются в примере где работает. |
Автор: | Phricker [ 07 фев 2017, 16:50 ] |
Заголовок сообщения: | Re: Присвоение статического IP Inet уже выданного пользовате |
а я про что говорил? Код: InetServ inetServ = inetServService.inetServGet(317359); получает текущий сервис с ID = 317359 |
Автор: | iseed [ 08 фев 2017, 08:08 ] |
Заголовок сообщения: | Re: Присвоение статического IP Inet уже выданного пользовате |
Phricker писал(а): а я про что говорил? Код: InetServ inetServ = inetServService.inetServGet(317359); получает текущий сервис с ID = 317359 Я пробовал добавить получение нового сервиса после обновления старого. К сожалению это не помогло. InetServWrapper isw = new InetServWrapper(con, modileId); |
Автор: | iseed [ 08 фев 2017, 11:32 ] |
Заголовок сообщения: | Re: Присвоение статического IP Inet уже выданного пользовате |
Изменил логику для работы по папке inv_device public class statusTest extends GlobalScriptBase InetSubscriber public class InetSubscriber extends IpResourceSubscriptionDao Возникла новая проблема. resourceService.freeIpResourceRangeList() возвращает уже присвоенный на inetServ Ip адрес. Имеется запись с данным Ip в таблице inv_ip_resource_subscription_9 с указанной датой окончания сервиса http://joxi.ru/DrlNvxgFvvZVB2 При установке в клиенте биллинга этого ip адреса пишет что существует конфликт ip с данным договором. |
Автор: | iseed [ 09 фев 2017, 09:28 ] |
Заголовок сообщения: | Re: Присвоение статического IP Inet уже выданного пользовате |
Тут даже просто если в договоре имеется статическая привязка IP c закрытым сервисом. http://joxi.ru/l2Z1Xz4TwwOXLm То при добавлении в новый сервис имею ошибку http://joxi.ru/eAOlL8zIxxQVdr Я думаю это связано с тем что при построении интервалов использования IP используется дата начала сервиса, а не запись в inv_ip_resource_subscription_9; |
Автор: | iseed [ 09 фев 2017, 10:32 ] |
Заголовок сообщения: | Re: Присвоение статического IP Inet уже выданного пользовате |
В результате того что биллинг считает активный интервал статического IP по датам активности сервиса, невозможно отделить интервал активности статического IP от активности сервиса. Пришлось удалить статические записи IP из закрытых сервисов. Тему можно закрывать. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |