Перейти к содержимому

Снятие абонплаты


Рекомендованные сообщения

В январе запустил Stargazer биллинг для небольшой группы.

Первый неполный месяц у всех был анлим тариф xalyava, где отключена всякая оплата. 31 числа переключил кого следует на трафик unlim с абонплатой в 325руб.

Первого числа обнаружил, что абонплата снята неполностью (251,61руб).

 

mysql> select * from tariffs;
+---------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+-------------+------+------+-----------+
| name    | PriceDayA0 | PriceDayB0 | PriceNightA0 | PriceNightB0 | Threshold0 | Time0   | NoDiscount0 | SinglePrice0 | PriceDayA1 | PriceDayB1 | PriceNightA1 | PriceNightB1 | Threshold1 | Time1   | NoDiscount1 | SinglePrice1 | PriceDayA2 | PriceDayB2 | PriceNightA2 | PriceNightB2 | Threshold2 | Time2   | NoDiscount2 | SinglePrice2 | PriceDayA3 | PriceDayB3 | PriceNightA3 | PriceNightB3 | Threshold3 | Time3   | NoDiscount3 | SinglePrice3 | PriceDayA4 | PriceDayB4 | PriceNightA4 | PriceNightB4 | Threshold4 | Time4   | NoDiscount4 | SinglePrice4 | PriceDayA5 | PriceDayB5 | PriceNightA5 | PriceNightB5 | Threshold5 | Time5   | NoDiscount5 | SinglePrice5 | PriceDayA6 | PriceDayB6 | PriceNightA6 | PriceNightB6 | Threshold6 | Time6   | NoDiscount6 | SinglePrice6 | PriceDayA7 | PriceDayB7 | PriceNightA7 | PriceNightB7 | Threshold7 | Time7   | NoDiscount7 | SinglePrice7 | PriceDayA8 | PriceDayB8 | PriceNightA8 | PriceNightB8 | Threshold8 | Time8   | NoDiscount8 | SinglePrice8 | PriceDayA9 | PriceDayB9 | PriceNightA9 | PriceNightB9 | Threshold9 | Time9   | NoDiscount9 | SinglePrice9 | PassiveCost | Fee  | Free | TraffType |
+---------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+-------------+------+------+-----------+
| traffik |        0.1 |        0.1 |            0 |            0 |          0 | 0:0-0:0 |           1 |            1 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |           0 |    0 |    0 | down      |
| xalyava |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           1 |            1 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |           0 |    0 |    0 | up+down   |
| unlim   |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           1 |            1 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |          0 |          0 |            0 |            0 |          0 | 0:0-0:0 |           0 |            0 |           0 |  325 |    0 | up+down   |
+---------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+------------+------------+--------------+--------------+------------+---------+-------------+--------------+-------------+------+------+-----------+
3 rows in set (0.00 sec)

 

Фрагмент stargazer.conf

################################################################################
#                        Файл настроек сервера stargazer                       #
################################################################################



# Имя лог-файла куда пишутся события
LogFile = /var/log/stargazer.log

AdminAllowFrom = 192.168.0.110


# Имя PID-файла куда пишется идентификатор процесса
# По умолчанию /var/run/pid
PIDFile = /var/run/stargazer.pid



# Имя файла в котором определяются правила подсчета трафика
Rules = /etc/stargazer/rules



# Время через которое пишется d БД детальная статистика пользователя
# Значения: 1, 1/2, 1/4, 1/6.
# 1 - раз в чаc, 1/2 - раз в пол часа, 1/4 - раз в 15 мин, 1/6 - раз в 10 мин
DetailStatWritePeriod=1/6



# Периодичность записи записи в БД информации о статистике пользователя (минуты)
# При большом кол-ве пользователей эту величину стоит увеличить, т.к.
# запись в БД может занимать длительное время.
# Значения: 1...1440 (минуты)
StatWritePeriod = 1



# День снятия абонплаты
# Значения: 0...31. 0 - Последний день месяца
DayFee = 1



# Абонплата снимается в последний (yes) или первый (no) день учетного периода.
# Это влияет на то, как будет снята абонплата (АП) при переходе на новый тариф.
# Если у пользователя был тариф A с АП=100 и он хочет перейти на тариф B с АП=200,
# то при переходе на новый тариф со счета пользователя снимется 100, если
# DayFeeIsLastDay = yes и 200, если DayFeeIsLastDay = no
DayFeeIsLastDay = no



# День сброса данных о трафике за месяц и день перехода пользователей на новые тарифы
# Значения: 0...31. 0 - Последний день месяца
DayResetTraff = 1



# "Размазанное" снятие абонплаты. Снятие АП не раз в месяц, а каждый
# день 1/30 или 1/31 части АП
# Значения: yes, no
SpreadFee = no



# Данная опция определяет может ли пользователь получить доступ в интерент
# если у него на счету нет денег, но остался предоплаченный трафик
# Значения: yes, no
FreeMbAllowInet = no



# Эта опция определяет что будет писаться в стоимость трафика в detail_stat.
# Если у пользователя еще есть предоплаченный трафик и WriteFreeMbTraffCost = no,
# то в detail_stat стоимость будет 0. Если у пользователя уже нет
# предоплаченного трафика и WriteFreeMbTraffCost = no, то в detail_stat
# будет записана стоиость трафика. При WriteFreeMbTraffCost = yes стоимость
# трафика будет записана в любом случае.
WriteFreeMbTraffCost = no



# Необязательный параметр. Указывает снимать полную абонплату у пользователя даже
# если он быз заморожен только часть учетного периода.
# По умолчанию установлен в no
# FullFee=no

# Необязательный параметр указывающий показывать на счету и позволять 
# использовать пользователю абонплату. По умолчанию установлен в yes
# ShowFeeInCash=yes



# Названия направлений. Направления без названий не будут отображаться в
# авторизаторе и конфигураторе. Названия состоящие из нескольких слов должны
# быть взяты в кавычки
<DirNames>
   DirName0 = Internet
   DirName1 =
   DirName2 =
   DirName3 =
   DirName4 =
   DirName5 =
   DirName6 =
   DirName7 =
   DirName8 =
   DirName9 =
</DirNames>



# Кол-во запускаемых процессов stg-exec.
# Эти процессы отвечают за выполнение скриптов OnConnect, OnDisconnect, ...
# Кол-во процессов означает сколько скриптов могут выполнятся одновременно.
# Значения: 1...1024
ExecutersNum = 1



# Message Key для stg-exec.
# Идентификатор очереди сообщений для выполнятеля скриптов.
# Его изменение может понадобится если есть необходимость запустить несколько
# экземпляров stg. Если вы не понимаете, что это, не трогайте этот параметр!
# Значения: 0...2^32
# Значение по умолчанию: 5555
# ExecMsgKey = 5555



# Путь к директории, в которой находятся модули сервера
ModulesPath = /usr/lib/stg

# Определяет директорию, в которой будут находится файлы "монитора"
# работы сервера. В этой директории будут созданы пустые файлы, время 
# модификации которых будет меняться примерно раз в минуту. Если какой-то 
# компонент сервера зависнет, файл(ы) перестанет обновлятся, и по этому 
# признаку можно определить сбой в работе сервера и при надобности 
# перезапустить. Если параметр не указан или пустой, мониторинг производится 
# не будет. Параметр не является обязательным, по умолчанию пустой.
MonitorDir=/var/stargazer/monitor

 

 

События из stargazer.log в момент снятия абонплаты.

2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'vortex': 'tariff' parameter changed from 'xalyava' to 'unlim'. 
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'udovichenko': 'tariff' parameter changed from 'xalyava' to 'unlim'. 
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'marshall': 'tariff' parameter changed from 'xalyava' to 'unlim'. 
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'gena': 'tariff' parameter changed from 'xalyava' to 'unlim'. 
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'dima': 'tariff' parameter changed from 'xalyava' to 'unlim'. 
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'cccp': 'tariff' parameter changed from 'xalyava' to 'unlim'. 
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'zhmak': 'freeMb' parameter changed from '0.000000' to '0.000000'. Prepaid traffic
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'vortex': 'freeMb' parameter changed from '0.000000' to '0.000000'. Prepaid traffic
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'viktor': 'freeMb' parameter changed from '-56.329815' to '0.000000'. Prepaid traffic
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'udovichenko': 'freeMb' parameter changed from '0.000000' to '0.000000'. Prepaid traffic
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'sveta': 'freeMb' parameter changed from '0.000000' to '0.000000'. Prepaid traffic
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'nout': 'freeMb' parameter changed from '0.000000' to '0.000000'. Prepaid traffic
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'marshall_nout': 'freeMb' parameter changed from '0.000000' to '0.000000'. Prepaid traffic
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'marshall': 'freeMb' parameter changed from '0.000000' to '0.000000'. Prepaid traffic
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'gena': 'freeMb' parameter changed from '0.000000' to '0.000000'. Prepaid traffic
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'dima': 'freeMb' parameter changed from '0.000000' to '0.000000'. Prepaid traffic
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'cccp': 'freeMb' parameter changed from '0.000000' to '0.000000'. Prepaid traffic
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'vortex': 'cash' parameter changed from '-437.200000' to '-688.813025'. Subscriber fee charge
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'udovichenko': 'cash' parameter changed from '250.000000' to '-1.613025'. Subscriber fee charge
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'marshall': 'cash' parameter changed from '0.500000' to '-251.113025'. Subscriber fee charge
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'gena': 'cash' parameter changed from '310.000000' to '58.386975'. Subscriber fee charge
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'dima': 'cash' parameter changed from '700.000000' to '448.386975'. Subscriber fee charge
2011-02-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'cccp': 'cash' parameter changed from '-361.500000' to '-613.113025'. Subscriber fee charge

 

 

Непонятно, почему произошло неполное снятие абонплаты вперед (за февраль месяц). Закрадывается подозрение о том, что абонплата снята пропорционально количеству "использованных дней" в январе. Помогите разобраться.

Ссылка на сообщение
Поделиться на других сайтах

Если виной всему этот параметр, то это баг.

Зачем дробить абонплату за февраль из-за того, что в январе пользователь существовал неполный месяц, да еще с другим тарифом?

Ссылка на сообщение
Поделиться на других сайтах

Это не баг - это фича.

Оплата по факту использования услуги а не по календарному месяцу вроде как распространена среди многих провайдеров как и размазанная абонплата скажем. Кроме того все таки русским по зеленому написано:

 

# Необязательный параметр. Указывает снимать полную абонплату у пользователя даже

# если он быз заморожен только часть учетного периода.

# По умолчанию установлен в no

# FullFee=no

 

неожиданно да? :rolleyes:

Ссылка на сообщение
Поделиться на других сайтах

неожиданно да? :rolleyes:

 

Неожиданно! Учитывая, что

 

# День снятия абонплаты
# Значения: 0...31. 0 - Последний день месяца
DayFee = 1



# Абонплата снимается в последний (yes) или первый (no) день учетного периода.
# Это влияет на то, как будет снята абонплата (АП) при переходе на новый тариф.
# Если у пользователя был тариф A с АП=100 и он хочет перейти на тариф B с АП=200,
# то при переходе на новый тариф со счета пользователя снимется 100, если
# DayFeeIsLastDay = yes и 200, если DayFeeIsLastDay = no
DayFeeIsLastDay = no

 

То есть прямо сказано, что абонплата снимается в первый день учетного периода (в данном случае февраль). Вместо этого, абонплата за февраль снимается с учетом неполного январского периода.

 

Забыл указать, что 31 января конфигуратором сделал отложенное изменение тарифного плана, а не мгновенное.

Изменено пользователем Zhmak
Ссылка на сообщение
Поделиться на других сайтах

Если виной всему этот параметр, то это баг.

Зачем дробить абонплату за февраль из-за того, что в январе пользователь существовал неполный месяц, да еще с другим тарифом?

Это не баг. Абонплата снимается пропорционально времени активности абонента. Так, например, если абонент был пол месяца "заморожен" или создан в середине месяца - снимется половина абонплаты.

Ссылка на сообщение
Поделиться на других сайтах

неожиданно да? :rolleyes:

 

Неожиданно! Учитывая, что

 

# День снятия абонплаты
# Значения: 0...31. 0 - Последний день месяца
DayFee = 1



# Абонплата снимается в последний (yes) или первый (no) день учетного периода.
# Это влияет на то, как будет снята абонплата (АП) при переходе на новый тариф.
# Если у пользователя был тариф A с АП=100 и он хочет перейти на тариф B с АП=200,
# то при переходе на новый тариф со счета пользователя снимется 100, если
# DayFeeIsLastDay = yes и 200, если DayFeeIsLastDay = no
DayFeeIsLastDay = no

 

То есть прямо сказано, что абонплата снимается в первый день учетного периода (в данном случае февраль). Вместо этого, абонплата за февраль снимается с учетом неполного январского периода.

 

Забыл указать, что 31 января конфигуратором сделал отложенное изменение тарифного плана, а не мгновенное.

Как правильно написано в комментарии, DayFeeIsLastDay влияет только на то по какому тарифу будет снята абонплата. yes - по старому, no - по новому.

Ссылка на сообщение
Поделиться на других сайтах

Обожаю наблюдать такие топики каждое начало нового месяца :rolleyes:

Скоро придется писать мануал по работе тарифов :)

 

Если топики возникают так часто, то это просто необходимо :)

 

Я правильно понял, что stargazer работает по кредитной схеме, когда снятие абонплаты проходит только в конце учетного периода?

 

От того, мои попытки настроить схему с предоплаченной услугой потерпели неудачу.

Ссылка на сообщение
Поделиться на других сайтах
От того, мои попытки настроить схему с предоплаченной услугой потерпели неудачу.

Нет - просто изза игнорирования документации и коментов в конфиге.

Испокон веков продаем только припейд и только по полной абонплате. Проблем не наблюдаем.

Ссылка на сообщение
Поделиться на других сайтах

.....в конфиге.

Испокон веков продаем только припейд и только по полной абонплате....

Брррр...

А можно листинг Вашего правильного конфига?

Честно говоря, думал по той же логике, а именно работать только по предоплате.

Но при этом, если юзер был заморожен пол месяца - оплатить он должен по факту оставшихся дней в месяце разморозки,

для этого в статистике считаю их и вычисляю сколько снять за текущий мес.

А получается, что СТГ снимает абонку не по предоплате - я правильно понял?

Ссылка на сообщение
Поделиться на других сайтах

Если топики возникают так часто, то это просто необходимо :rolleyes:

 

Я правильно понял, что stargazer работает по кредитной схеме, когда снятие абонплаты проходит только в конце учетного периода?

 

От того, мои попытки настроить схему с предоплаченной услугой потерпели неудачу.

я тоже как то интересовался этим вопросом, у меня тоже систеама работает по предоплате, от функции "заморозка счёта" отказался, пересчитываю при возобновлении обслуживания вручную

 

честно говоря всё таки хотелось бы видеть в стг начисление абонплаты независимо от фактической работы в сети, а от календарного месяца

Ссылка на сообщение
Поделиться на других сайтах

Раз уж тут завелась тема про тарифы/абонплату, то спрошу и я, чтоб не начинать новый топик в начале месяца :rolleyes:

После перехода на сервер 2.406 (до этого кажись был 2.401, были проблемы с файлами статистики пользователей) все было гуд до первого числа.

Да и щас работает в принципе нормально, если не считать что у пользователей которым сняло абонплату и на счету стало 0, все равно осталась возможность ходить в инет. Раньше такого не было, ноль - значит доступа нету. Сейчас если выставить на счет отрицательную сумму то доступ блокируется, но мне это не совсем нравится. Где может быть ошибка?

 

stargazer.conf

---

DayFee = 1

DayFeeIsLastDay = yes

DayResetTraff = 1

SpreadFee = no

FreeMbAllowInet = no

WriteFreeMbTraffCost = no

Ссылка на сообщение
Поделиться на других сайтах

keshaLG

 

DayFee = 1

DayFeeIsLastDay = no

DayResetTraff = 1

SpreadFee = no

FreeMbAllowInet = no

FullFee=yes

WriteFreeMbTraffCost = no

 

 

А в чем проблема?

 

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

Ссылка на сообщение
Поделиться на других сайтах

да вроде как и логика понятна, и что ноль с точки зрения математики число положительное, но когда "балланс = 0 значит счастья нет" было лучше :rolleyes:

в конфиге никак нельзя выставить чтоб было так?

я думал что причина в FreeMbAllowInet, вот если б этот параметр был выставлен в yes то я был бы со всем согласен.

а так наверное прийдется стоимость тарифа делать на 1 грн больше чем абонент кладет на счет... или даже не знаю как выкрутиться.

Ссылка на сообщение
Поделиться на других сайтах
да вроде как и логика понятна, и что ноль с точки зрения математики число положительное, но когда "балланс = 0 значит счастья нет" было лучше :rolleyes:

в конфиге никак нельзя выставить чтоб было так?

Не терпится потоптаться на трупе бабушки математики и тетушки логики? :)

 

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

Ссылка на сообщение
Поделиться на других сайтах

Не терпится потоптаться на трупе бабушки математики и тетушки логики? :)

 

Ну, не знаю... не хочется вступать в полемику со старыми морскими волками, но я рассуждаю так:

если у юзера на счету больше нуля - работай на здоровье.

если ноль - доступ есть если есть предоплаченные мегабайты и FreeMbAllowInet = yes, если no - доступа нет.

если меньше нуля - доступа нет в любом случае.

 

жаль, что в предыдущей версии было так, а в новой - по-другому.

или я все-таки что-то напутал в конфиге? :rolleyes:

Ссылка на сообщение
Поделиться на других сайтах

Раз уж тут завелась тема про тарифы/абонплату, то спрошу и я, чтоб не начинать новый топик в начале месяца :rolleyes:

После перехода на сервер 2.406 (до этого кажись был 2.401, были проблемы с файлами статистики пользователей) все было гуд до первого числа.

Да и щас работает в принципе нормально, если не считать что у пользователей которым сняло абонплату и на счету стало 0, все равно осталась возможность ходить в инет. Раньше такого не было, ноль - значит доступа нету. Сейчас если выставить на счет отрицательную сумму то доступ блокируется, но мне это не совсем нравится. Где может быть ошибка?

 

stargazer.conf

---

DayFee = 1

DayFeeIsLastDay = yes

DayResetTraff = 1

SpreadFee = no

FreeMbAllowInet = no

WriteFreeMbTraffCost = no

Да, действительно, с версии 2.401.6.7 эта логика поменялась.

Ссылка на сообщение
Поделиться на других сайтах

да вроде как и логика понятна, и что ноль с точки зрения математики число положительное, но когда "балланс = 0 значит счастья нет" было лучше :rolleyes:

в конфиге никак нельзя выставить чтоб было так?

я думал что причина в FreeMbAllowInet, вот если б этот параметр был выставлен в yes то я был бы со всем согласен.

а так наверное прийдется стоимость тарифа делать на 1 грн больше чем абонент кладет на счет... или даже не знаю как выкрутиться.

С точки зрения математики число 0 не является ни положительным, ни отрицательным.

FreeMbAllowInet только разрешает доступ в Internet при отрицательном балансе в случа если еще остались бесплатные мегабайты.

Ссылка на сообщение
Поделиться на других сайтах

Не терпится потоптаться на трупе бабушки математики и тетушки логики? :)

 

Ну, не знаю... не хочется вступать в полемику со старыми морскими волками, но я рассуждаю так:

если у юзера на счету больше нуля - работай на здоровье.

если ноль - доступ есть если есть предоплаченные мегабайты и FreeMbAllowInet = yes, если no - доступа нет.

если меньше нуля - доступа нет в любом случае.

 

жаль, что в предыдущей версии было так, а в новой - по-другому.

или я все-таки что-то напутал в конфиге? :rolleyes:

Логика проста: услуга стоит 10 денег, абонент заплатил 10 денег, 10 - 10 = 0 - абонент доллжен получать услугу за которую заплатил.

Ссылка на сообщение
Поделиться на других сайтах

Логика проста: услуга стоит 10 денег, абонент заплатил 10 денег, 10 - 10 = 0 - абонент доллжен получать услугу за которую заплатил.

 

Ну да железная логика, я тоже так думал.

А как можно объяснить это?

Да конечно, там "заморозкой/разморозкой" усложняется все.

И походу, если

DayFeeIsLastDay = no

СТГ в момент разморозки должен снимать за оставшиеся дни в тек. месяце.

А я хотел бы вернуться к вопросу топикстартера:

"Почему при

DayFeeIsLastDay = no

абонка снялась за прошлый мес.?"

 

Или я чего-то не понимаю, за что прошу заранее прощение и спасибо за Ваши разъяснения.

 

PS Спасибо nightfly за конфиг

Ссылка на сообщение
Поделиться на других сайтах

Потому что Вы не прочли или не вникли в описание функции.

DayFeeIsLastDay – параметр, указывающий серверу, когда абонплата

снимается в последний (yes) или первый (no) день учетного периода. Это

влияет на то, как будет снята абонплата (АП) при переходе на новый

тариф. Если у пользователя был тариф A с АП=100 и он хочет перейти на

тариф B с АП=200, то при переходе на новый тариф со счета пользователя

снимется 100, если DayFeeIsLastDay = yes, и 200, если

DayFeeIsLastDay = no. По умолчанию DayFeeIsLastDay = yes.

 

Т.е. если "DayFeeIsLastDay = no" - абонка снимется ИМЕННО за прошлый месяц.

 

Если у вас включена заморозка и конфиг похож на конфиг от nightfly - абонка снимется только в том случае, если на момент её снятия (первое число) юзер был разморожен, иначе никаких изменений баланса не будет.

У меня конфиг был именно таким образом настроен - очень удобно и понятно: первого числа за месяц АП снялась - если деньги есть, то юзер работает, если не хватает - баланс отрицательный и Инета нет.

Скрипт 28-го числа проверял баланс. Если он меньше минус 1, то заморозка. Разморозка через личную страничку. Хоть через год - долг не накапливается, но будь добр заплатить задолженность и ещё 40 грн компенсации за удержание аккаунта (за разморозку). И все были счастливы.

 

Почитайте файл PDF, который в архиве с СТГ идёт, там очень много полезных вещей написано.

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...