Распределение абонплаты

Модуль организации Diulup и VPN доступа
~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Распределение абонплаты

Сообщение ~AsmodeuS~ »

должно быть

/etc/crontab

Код: Выделить всё

 */5  *      *    *     *   root   /usr/abills/libexec/billd -all
 1     0     *    *     *   root    /usr/abills/libexec/periodic daily
 1     1     *    *     *   root    /usr/abills/libexec/periodic monthly

uncleVALERA
Сообщения: 18
Зарегистрирован: Вт июн 02, 2015 6:51 am

Re: Распределение абонплаты

Сообщение uncleVALERA »

Проблема пока что так и не решена

Запускаю для определенного логина:
/usr/abills/libexec/periodic monthly DEBUG=10 LOGIN=len2 DATE=2015-09-28
Получаю:
TP ID: 1002 MF: 250.00 POSTPAID: 0 REDUCTION: 1 EXT_BILL_ID: 0 CREDIT: 0.00 MIN_USE: 0.00 ABON_DISTR: 1
Login: len2 (1070) TP_ID: 1002 Fees: 250.00 REDUCTION: 0.00 DEPOSIT: 8.038100 CREDIT 0 ACTIVE: 2015-09-27 TP: 1002
UID: 1070 SUM: 8.33333333333333 REDUCTION: 0.00
При списании не меняется статус на "Слишком маленький депозит" , а остается статус "Активно"
Через сутки статус меняется.
В настройках тарифа использую фильтр негативного депозита.

Подскажите куда копать.

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Распределение абонплаты

Сообщение ~AsmodeuS~ »

uncleVALERA писал(а):Проблема пока что так и не решена

Запускаю для определенного логина:
/usr/abills/libexec/periodic monthly DEBUG=10 LOGIN=len2 DATE=2015-09-28
Получаю:
TP ID: 1002 MF: 250.00 POSTPAID: 0 REDUCTION: 1 EXT_BILL_ID: 0 CREDIT: 0.00 MIN_USE: 0.00 ABON_DISTR: 1
Login: len2 (1070) TP_ID: 1002 Fees: 250.00 REDUCTION: 0.00 DEPOSIT: 8.038100 CREDIT 0 ACTIVE: 2015-09-27 TP: 1002
UID: 1070 SUM: 8.33333333333333 REDUCTION: 0.00
При списании не меняется статус на "Слишком маленький депозит" , а остается статус "Активно"
Через сутки статус меняется.
В настройках тарифа использую фильтр негативного депозита.

Подскажите куда копать.

у Вас где то установлен кредит

DEPOSIT: 8.038100
SUM: 8.33333333333333

как видно депозит меньше абонки и система должна изменить статус до снятия и не снимать деньги при включении опции "Действие при недостаточном депозите"

uncleVALERA
Сообщения: 18
Зарегистрирован: Вт июн 02, 2015 6:51 am

Re: Распределение абонплаты

Сообщение uncleVALERA »

И у пользователей и в настройках тарифов кредит установлен в 0

Однако пользователям разрешено брать кредит:
$conf{user_credit_change}='0:4:50:1:PERIOD=40;MAX_CREDIT_SUM=300;MIN_PAYMENT_SUM=60;PERCENT=100';
Но все это не важно, т.к. выяснилось что подобное поведение вызвано тем что дата активации у пользователей не равна "0000-00-00"
которая по моему в принципе не имеет смысла при распределенной абонплате и осталась от старой схемы.

uncleVALERA
Сообщения: 18
Зарегистрирован: Вт июн 02, 2015 6:51 am

Re: Распределение абонплаты

Сообщение uncleVALERA »

Кстати еще одно замечание: при запуске скрипта в режиме дебага деньги не списываются, но вот статус меняется!
:)

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Распределение абонплаты

Сообщение ~AsmodeuS~ »

uncleVALERA писал(а):Кстати еще одно замечание: при запуске скрипта в режиме дебага деньги не списываются, но вот статус меняется!
:)
в каком режиме дебага ?

uncleVALERA
Сообщения: 18
Зарегистрирован: Вт июн 02, 2015 6:51 am

Re: Распределение абонплаты

Сообщение uncleVALERA »

ну например как я уже писал:
/usr/abills/libexec/periodic monthly DEBUG=10 LOGIN=len2 DATE=2015-09-28

Представьте так протестировать не на одном юзере, а на всех

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Распределение абонплаты

Сообщение ~AsmodeuS~ »

В режиме отладки выше 7 система показывает выполнение команд но не выполняет их

uncleVALERA
Сообщения: 18
Зарегистрирован: Вт июн 02, 2015 6:51 am

Re: Распределение абонплаты

Сообщение uncleVALERA »

Понятно что должно быть так как Вы говорите, но я проверил еще раз и результат тот же: списание не происходит, статус меняется.

В этом фрагменте кода я так понимаю не хватает проверки на уровень отладки:

Код: Выделить всё

            elsif (($user{ACTIVATE} eq '0000-00-00' and $d == $START_PERIOD_DAY) || $TP_INFO->{ABON_DISTRIBUTION}) {
                #Block small deposit
                if ($TP_INFO->{SMALL_DEPOSIT_ACTION} && $sum > $user{DEPOSIT} + $user{CREDIT}) {
                  if ($TP_INFO->{SMALL_DEPOSIT_ACTION} == -1) {
                    $Dv->change(
                      {
                        UID    => $user{UID},
                        STATUS => 5
                      }
                    );
                  }

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Распределение абонплаты

Сообщение ~AsmodeuS~ »

да было такое в 0.5 ветке

Ответить