BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
СообщениеДобавлено: 15 мар 2015, 16:45 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
Не могу понять.
1. есть тариф, в нем есть продукт, в нем есть режим активации, в нем есть цена и услуга.
режим активации с текущего момента, деактивация моментально.
как сделать так, что если продукт активирован с середины месяца, то цена списывалась за половину месяца?
Вложение:
2015-03-15 18-21-56 Скриншот экрана.png
2015-03-15 18-21-56 Скриншот экрана.png [ 7.51 КБ | Просмотров: 5591 ]

пробовал по всякому, "округленно", "выровнено".
или на событие активации\деактивации продукта вешать добавление\удаление услуги абонентских плат, поставить нулевую стоимость Продукта, а всю тарификацию вынести модуль аб. плат?

2. предположим, есть услуга модуля абонентских плат Интернет - 500 руб. и есть Продукт в модуле ТВ - 300 руб.
в начале месяца клиент уходит в минус, кладет 500 руб. на счёт - что разблокируется? останется ли договор заблокированным? или услуга интернета разблокируется? или активируется продукт?
а если как п.1 работать с услугами модуля аб. плат, а в модуле ТВ цена за Продукт будет нулевой - когда клиент уйдёт в минус, продукт деактивируется?

3. в конце месяца, рассылаем клиентам уведомления, с предрасчитанной аб. платой за Интернет. Делается это калькулятором модуля аб. плат, а можно ли модулем ТВ делать такой же предрасчёт?
или как в п.1 работать с модулем аб. плат и их услугами?


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

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
откоментируйте пожалуйста. нужно внедрить интеграцию, и пока что все встало на подневной(месячная, пропорциональная дням) тарификации.


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
1. В модуле TV обсчитывает не как абонплаты, а как подписку.
Хватает денег - списывает и продляет подписку, при этом не привязано к календарному месяцу.
В данном случае если доработать ветку (точнее сделать новую ветку) стоимость X руб за Y дней, чтобы Y высчитывался как кол-во дней до конца месяца, а X потом умножался на это кол-во - должно заработать так как хотите.
Т.е. будет ветка X руб за 1 день до конца месяца.

2. Тут нужно смотреть, скорее всего сейчас будет разблокироваться быстрее тот модуль, у которого ID меньше.
Нет, продукт сам не деактивируется - когда закончится оплаченный период - он попытает снять деньги за следующий, если денег не хватает - он переключится в состояние отключен и будет пробовать производить снятие для включения при каждом платеже.

3. На данный момент нельзя, потому что периоды могут быть произвольными, непривязанными к месяцу. Нужно подумать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 мар 2015, 18:30 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
Цитата:
В данном случае если доработать ветку (точнее сделать новую ветку) стоимость X руб за Y дней, чтобы Y высчитывался как кол-во дней до конца месяца, а X потом умножался на это кол-во - должно заработать так как хотите.
Т.е. будет ветка X руб за 1 день до конца месяца.

не совсем понял. это можно сделать сейчас?
т.е. если тариф 300 руб. в месяц, то сделать ветку:
30руб. за 1 день? тогда в феврале тариф будет стоить 28дн.(29дн.)*30руб., а в месяцах с 31 днем будет 31*30?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 мар 2015, 18:33 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
и как быть тогда в случае, если у абонента на счету 100рублей, наступает новый месяц, ему надо заплатить 500рублей по модулю абонентских плат, его договор блокируется статусом Закрыт? а Продукты в модуле ТВ будут продолжать реактивироваться из этого Входящего остатка на начало месяца? т.е. модуль ТВ понимает статус договора? или это надо будет учесть в дин. коде OrderManager'a?


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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 мар 2015, 21:07 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Выкладывается обновление
TV: Отмена продления подписки, если статус договора среди значений contract.status.suspend.codes в конфигурации модуля.

Однако полностью данной проблемы не решит - BGTVAccounting считает в реалтайме, скорее всего он успеет списать и продлить (если для этого хватает денег) до того как вызовется задача блокировки дебетовых абонплат.
Т.к. вы хотите "превратить" схему с подписками в абонплаты привязанные к календарному месяцу - тут наверно нужно сделать отдельную задачу в планировщике которая будет работать вместо BGTVAccounting, чтобы не продлевал в реальном времени, а можно было подождать, пока задачи модуля абонплат выполнятся.


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

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
Amir писал(а):
Нет, в данный момент не учитывает статус договора, учитывает только состояние аккаунта (включен/отключен), которое зависит от статуса аккаунта (или баланса при включенном параметре конфигурации). Можем добавить, вроде бы не сложно.

скажите, а достаточно ли будет такой конструкции:

Код:
tvAccount = TvAccount.setStatus(TvAccount.STATUS_LOCKED);
TvAccountDao.update(tvAccount);


чтобы правильно менять статус аккаунта? т.е. чтобы его изменения увидел Фццесс\Аккаунтинг и деактивировал его и его продукты на устройстве?

мне кажется, что мы все таки вынесем тарификацию из модуля ТВ в Модуль абонентских плат, и будем управлять статусом аакаунта.


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

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
или нужно что то из ru.bitel.bgbilling.modules.tv.access.om.event кинуть?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 мар 2015, 22:11 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
в общем сделал как то так:

Код:
tvAccount.setStatus(TvAccount.STATUS_CLOSED);
tvAccountDao.update(tvAccount);
OmTvAccountStateModifyEvent e = new OmTvAccountStateModifyEvent(this.tvModuleId, 0, tvAccount, TvAccount.STATE_DISABLE, tvAccount.getAccessCode());
EventProcessor.getInstance().publish(e);


работает как хотелось.
повесил на события активации\деактивации продуктов добавление\прерывание аб. плат модуля NPAY. Прерывание делаем глобальным скриптом перед концом месяца или по статусу договора Закрыт\Приостановлен через Состояние\Статус аккаунта модуля TV.
какой то такой велосипед =)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 мар 2015, 17:39 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Мы обычно рекомендуем вызывать наши сервисы, т.к. Dao работает только с БД, а сервисы сами бросают необходимые события.

P.S. Думаю добавим в TV в ближайшем будущем пропорциональное начисление. А также с начислением не в реальном времени решим вопрос.


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

Зарегистрирован: 09 июл 2013, 15:42
Сообщения: 152
Откуда: Краснодар
Карма: 0
Dog писал(а):
Amir писал(а):
Нет, в данный момент не учитывает статус договора, учитывает только состояние аккаунта (включен/отключен), которое зависит от статуса аккаунта (или баланса при включенном параметре конфигурации). Можем добавить, вроде бы не сложно.

скажите, а достаточно ли будет такой конструкции:

Код:
tvAccount = TvAccount.setStatus(TvAccount.STATUS_LOCKED);
TvAccountDao.update(tvAccount);


чтобы правильно менять статус аккаунта? т.е. чтобы его изменения увидел Фццесс\Аккаунтинг и деактивировал его и его продукты на устройстве?

мне кажется, что мы все таки вынесем тарификацию из модуля ТВ в Модуль абонентских плат, и будем управлять статусом аакаунта.


Нужно реализовать такую же схему со списанием АбонПлаты за ТВ (полный и не полный месяц) - подскажите: как Вы это реализовали?


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

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
ЮжныйКраснодар писал(а):
Нужно реализовать такую же схему со списанием АбонПлаты за ТВ (полный и не полный месяц) - подскажите: как Вы это реализовали?


я так понимаю, это уже добавили в функционал, хотя сам еще не обновлялся и не смотрел.

у себя делал так:
в обработчик (OrderManager) для своей мидалвари добавил управление модулем абонентских плат. каждому продукту сопоставил через атрибуты id абонентской платы. ну и обработчик сам добавляет\приостанавливает абон.платы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 ноя 2015, 05:03 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
Amir писал(а):
Думаю добавим в TV в ближайшем будущем пропорциональное начисление.

а как это работает? не могу понять, как задается пропорциональность?
Amir писал(а):
А также с начислением не в реальном времени решим вопрос.

есть какие то сроки с этим?


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

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


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

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


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

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