BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 мар 2024, 20:12

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




Начать новую тему Ответить на тему  [ Сообщений: 20 ] 
Автор Сообщение
 Заголовок сообщения: Добавить пакет всем
СообщениеДобавлено: 14 янв 2019, 13:23 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Привет
Создали новый пакет в продуктах в модуле IPTV (iptvportal)
Как его добавить разом всем договорам у которых подключен модуль IPTV?
Спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить пакет всем
СообщениеДобавлено: 15 янв 2019, 18:17 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Главный чтоле в отпуске опять?) Аль приболел часом?))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить пакет всем
СообщениеДобавлено: 15 янв 2019, 18:27 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Не, я просто боюсь, что на предложение запилить скрипт, который будет добавлять всем пакет, и кинуть ссылкой в javadoc, вы будете плеваться тем, что труЪ программисты не называют "динамически подгружаемый код Java" © скриптами

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить пакет всем
СообщениеДобавлено: 15 янв 2019, 18:33 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Нельзя ли обойтись более простыми средствами, например SQL запросом?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить пакет всем
СообщениеДобавлено: 15 янв 2019, 18:50 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
SQL запросы не бросают событий, на которые подписаны приложения биллинга.
Возможно будет достаточно после SQL запроса перезагрузить TVAccess/TVAccounting, чтобы они перечитали и синхронизировали сервисы, но я бы не рисковал.

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить пакет всем
СообщениеДобавлено: 15 янв 2019, 19:01 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Ну можно добавить через SQL в биллинг и добавить в MW тоже как-то так.
Этим обеспечить синхронизацию пакетов
Или как-то пнуть приложения чтобы они синхронизировали всех после добавления в биллинг. Кажется такая возможность где-то была.
А вообще надо групповую операцию на эту тему.
Неужели я первый кто с этим столкнулся? Сегодня не было пакета, завтра он появился, и у нас 100500 клиентов? Хочется же как-то без гемора решить этот глупый вопрос.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить пакет всем
СообщениеДобавлено: 16 янв 2019, 20:04 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Так я правильно понимаю что если делать с помощью SQL, то достаточно добавить пакет в две таблицы inv_product и inv_product period?
Ну и наверное перезапустить приложения?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить пакет всем
СообщениеДобавлено: 18 янв 2019, 20:24 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Если нужно добавить всем бесплатный пакет, то лучше сделать через ветку "Установка опции".
IptvPortalOrderManager поддерживает такое включение продуктов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить пакет всем
СообщениеДобавлено: 18 янв 2019, 20:30 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
То есть в тарифе прописать опцию - пакет?
А если платный?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить пакет всем
СообщениеДобавлено: 18 янв 2019, 20:31 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
Так я правильно понимаю что если делать с помощью SQL, то достаточно добавить пакет в две таблицы inv_product и inv_product period?
Ну и наверное перезапустить приложения?
Вроде бы должно быть достаточно, но timeTo в inv_product_period должен быть на 1 сек. меньше timeFrom, чтобы биллинг попытался продлить данный продукт и после этого дал задание включить его на MW.
Т.е. начисление и создание задания происходит в одном месте, нет какой-то задачи планировщика, которая бы постоянно проверяла периоды продуктов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить пакет всем
СообщениеДобавлено: 18 янв 2019, 20:36 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
То есть в тарифе прописать опцию - пакет?
Да.

Цитата:
А если платный?
Можем добавить групповую операцию (где-нибудь на следующей неделе).
Можно сделать скрипт и вызывать через API. Например, новый ЛК активирует так:
Код:
         Product product = new Product();
         product.setContractId( getContractId() );
         product.setAccountId( tvAccountId );
         product.setProductSpecId( productSpecId );
         product.setActivationModeId( productSpecActivationModeId );
         product.setComment( "Активировано клиентом" );

         productOrderService.productActivate( product, null, true, true );
https://bgbilling.ru/v7.0/javadoc/ru/bitel/oss/systems/order/product/common/service/ProductOrderService.html#productActivate-ru.bitel.oss.systems.inventory.product.common.bean.Product-java.util.Date-boolean-boolean-


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить пакет всем
СообщениеДобавлено: 18 янв 2019, 20:38 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Будем более лучше одобрять групповую операцию пожалуйста))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить пакет всем
СообщениеДобавлено: 19 янв 2019, 00:27 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Добавить через опцию плохо получается.
Добавили продукт. В биллинге под id 29, в MW с таким же названием, но там ID конечно другой.
Далее создали опцию в тарифе с этим продуктом.
После этого биллинг попытался включить всем клиентам этого тарифа этот продукт, но

лог с MW

2019-01-18 20:47:38,683 ------------------------------------------------------------
2019-01-18 20:47:38,683 command: insert into subscriber_package (package_id, expired_on, enabled, domain_id, subscriber_id) values (%(var0)s,%(var1)s,%(var2)s,%(var3)s,%(var4)s) returning %(var5)s
2019-01-18 20:47:38,683 ------------------------------------------------------------
2019-01-18 20:47:38,683 vars: {'var5': 'id', 'var4': 490159, 'var1': None, 'var0': 29, 'var3': 72, 'var2': True}
2019-01-18 20:47:38,683 ------------------------------------------------------------
2019-01-18 20:47:38,722 Exception in user code:
2019-01-18 20:47:38,722 ------------------------------------------------------------
Traceback (most recent call last):
File "./utils/jsonsql.py", line 752, in execute_command
File "/usr/lib64/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/usr/lib64/python2.7/site-packages/django/db/utils.py", line 94, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/lib64/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
IntegrityError: insert or update on table "subscriber_package" violates foreign key constraint "subscriber_package_domain_id_fkey1"
DETAIL: Key (domain_id, package_id)=(72, 29) is not present in table "package".

И это понятно, потому что в мидле у этого пакета ID совсем не 29 а например 604

Что мы сделали не так?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить пакет всем
СообщениеДобавлено: 22 янв 2019, 16:25 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Или может быть уже реализована групповая операция? Намекните хоть, чтоле)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить пакет всем
СообщениеДобавлено: 22 янв 2019, 17:37 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
Или может быть уже реализована групповая операция? Намекните хоть, чтоле)
Нет, групповой операции еще нет.

Цитата:
И это понятно, потому что в мидле у этого пакета ID совсем не 29 а например 604
Была ошибка в дин. классе IptvPortalOrderManager. Выложили обновление. Можно просто обновить дин. класс (без обновления модуля, класс взять из tv_7.x_yyy.zip/dyn), перекомпилировать и нажать "Перечитать конфигурацию на серверах".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить пакет всем
СообщениеДобавлено: 22 янв 2019, 18:10 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Если не трудно, сообщите пожалуйста, когда будет готова групповая операция. Потому что для платных пакетов это все равно не катит.
Спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить пакет всем
СообщениеДобавлено: 22 янв 2019, 22:10 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Обновил дин.класс.
Теперь при добавлении опции на тариф, добавляет с правильным ID. Но меееедленно. ПО нескольку договоров в минуту.
Скажите, по какому принципу происходит добавление? Так он несколько дней будет добавлять этот бедный пакет.
При удалении опции зато моментально сразу и у всех не церемонясь.

Ну и как только что выяснилось, добавляется пакет при добавлении опции не всем договорам у которых есть этот тариф. А совсем даже не всем. Без всякой видимой причины. Чуть ли не рандомно. Кому-то этот пакет в мидле просто не добавился. Все это как-то малопонятно и очень глючно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить пакет всем
СообщениеДобавлено: 30 янв 2019, 18:23 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Не реализована ли еще групповая операция по добавлению пакета?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить пакет всем
СообщениеДобавлено: 08 фев 2019, 00:49 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Выложили обновление для 7.1
Как и для других групповых действий, желательно забекапить указанные таблицы и сначала вызвать действие только для одного договора.
Если на договоре нет аккаунта, или он закрыт по периоду, то он будет пропущен. Если на аккаунте уже есть такой активный продукт на указанное время, то он будет пропущен.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить пакет всем
СообщениеДобавлено: 08 фев 2019, 00:58 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
Теперь при добавлении опции на тариф, добавляет с правильным ID. Но меееедленно. ПО нескольку договоров в минуту.
Скажите, по какому принципу происходит добавление? Так он несколько дней будет добавлять этот бедный пакет.
При удалении опции зато моментально сразу и у всех не церемонясь.
Оба действия выполняются одними и теми же подсистемами.
Тарификатор TvAccounting периодически тарифицирует аккаунты и отслеживает изменение продуктов-опций (accounting.worker.1.tracking.account в https://docs.bitel.ru/pages/viewpage.ac ... d=43386399).
TvAccess выполняет синхронизацию, добавляя или удаляя продукт-пакет (или выполняет полную синхронизацию, сравнивая с данными из MW).

Т.е. не должно быть разницы в скорости активации/деактивации. Возможно нужно смотреть логи синхронизации в TvAccess.


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

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


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

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


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

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