Биллинговая система Nodeny

Главная категория => Nodeny Plus => Тема начата: dimonous от 29 Июля 2015, 15:10:34



Название: Не замораживать услугу при балансе > -10 (Обратная совместимость с nodeny50)
Отправлено: dimonous от 29 Июля 2015, 15:10:34
Добрый день, коллеги.

При переходе с Nodeny50 на Nodeny+ столкнулся с проблемой:

Описание:
В старом биллинге абонентам было разрешено пользоваться услугами доступа в интернет при балансе до -10 грн., limit_balance = -10. В Nodeny+ же для продления услуги класса "inet_unlim" требуется чтобы на счету была положительная сумма размером "стоимость тарифного плана за период", ведь при продлении услуг поле "limit_balance" игнорируется. Абонплата суточная (в старом - через скрипт 8:* , в новом - услуга с периодом 24 часа).

Почитав документацию и форум, способы решения, частично решающие  проблемы около:
- разрешить залазить в минус: плохо, они залазят в -50 и потом кошмарят техподдержку "почему не заблокировало при -10, я не собираюсь платить";
- модуль "кредит": не пошел, абоненты как оказалось, не заходят в личный кабинет вообще, баланс смотрят в терминалах;

Решение:
Пропатчил services/inet_unlim.pm, добавив условие проверки поля "inet_unlim":
 /usr/local/nodeny/services]# diff backup/inet_unlim.pm inet_unlim
139a140,150
>         # set 0 for datail log
>         my $mode = 0;
>         my $log = Debug->new(
>             -type       => 'file',
>             -file       => '/var/log/debug.txt',
>             -drop_chain => 1,
>             -only_log   => 1,
>         );
>
>
>
143c154
<     if( $service_new->{param}{wait_pos_balance} && $user->{balance} < $service_new->{price} )
---
>     if( $service_new->{param}{wait_pos_balance} && ($user->{balance} - $user->{limit_balance}) < $service_new->{price} )
144a156
>         $log->tolog("Не хватает денег на установку услуги: $uid $user->{balance} $user->{limit_balance} $service_new->{price}");
158a171,172
>         $log->tolog("action-pay");
>
165a180
>         $log->tolog("actions-set_service");

Вопрос:
Может быть в биллинге есть уже встроенное решение для эмуляции поведения "как в старом", как и в теме "Скрипт управления скоростью. Тег для трафика с начала месяца" ?


Название: Re: Не замораживать услугу при балансе > -10 (Обратная совместимость с nodeny50)
Отправлено: Efendy от 30 Июля 2015, 12:49:33
Вот прикрепленная тема с вариантами "неухода" в минус http://forum.nodeny.com.ua/index.php?topic=2386.0


Название: Re: Не замораживать услугу при балансе > -10 (Обратная совместимость с nodeny50)
Отправлено: dimonous от 30 Июля 2015, 16:16:06
Всё верно. Я, конечно же, внимательно изучил этот топик когда искал решение поставленной задачи. Там нет решения что называется "exactly", в точности соответствующего требуемому поведению:
    1: не учитывается limit_balance
    2: не учитывается limit_balance
    3: не учитывается limit_blaance
    4: не решает поставленную задачу когда услуга = только одна "like %inet%"
    5: не о том, и опять же не учитывается limit_balance
    6: модуль приостановления услуг, так же как и модуль кредита , решают проблему "сбоку и сзади", не пошли