В системе (utm5.1.10_008 FreeBSD4.9) к каждому пользователю подключенны две услуги:
1. Периодическая для снятия аб.платы. Деньги снимаются в начале расчетного периода.
2. Передача трафика с необходимым количеством предоплаченного трафика без периодической составляющей.
Наступил новый расчетный период, обнаружилась следующая проблема у некоторых пользователей(около 30% от общего кол-ва):
Если пользователь заблокирован (системная блокировка), то с него НЕ снимается абонентская плата. Удаление периодической услуги отвечающей за абонентку и повторное добавление ситуации не меняет - деньги не снимаются. Однако, если попытаться разблокировать юзера (в окне редактирования юзера из выпадающего меню блокировок выбрать "нет"), то абонентская плата снимается, но не вся, а с ПЕРЕСЧЕТОМ на текущий день при том, что галочек отвечающих за пересчет не стоит. После чего пользователь снова блокируется системной блокировкой, что вообщем-то правильно, т.к баланс меньше нуля.
Аналогично, если заблокированный юзер (системная блокировка) сам вносит на счет деньги то с него снимается аб.плата предоставляется трафик, НО и то и другое с пересчетом на текущий день при том, что галочек,отвечающих за пересчет не стоит.
Вообщем складывается такое ощущение, что при переходе баланса пользователя через ноль (выходе пользователя из системной блокировки) к нему заново подключаются услуги с установленными галочками по поводу пересчета аб.платы и пред.трафика.
Было замеченно, что проблема касается НЕ ВСЕХ пользователей с системной блокировкой. Систематичность определить не удалось.
Те кто переходил в новый расчетный период разблокированным обсчитался правильно(абонентка снялась, предоставился полный объем пердопалченного трафика).
Может кто сталкивался с аналогичной проблемой?
Конфиги, логи и дампы БД, если нужно приведу. Подскажите пжлста в какую сторону копать?
Проблема с заблокированными пользователями.
Проблема с заблокированными пользователями.
Последний раз редактировалось kurt Пт апр 01, 2005 15:09, всего редактировалось 4 раза.
И попутно еще один глюк:
Удаляем услугу передачи траффика.
Удаляем периодическую услугу снимающую абон.плату.
Добавляем периодическую услугу снимающую абон.плату. При добавлении не ставим галочки отвечающие за пересчет, жмем "Ок". В результате имеем подключенную периодическую услугу, НО с юзера снялась не вся абон.плата а пересчитанная на момент подключения, хотя галочки не ставились и в параметрах услуги указан метод снятия денег "в начале расчетного периода".
Аналогичная проблема при подключении услуги передачи трафика - пользователю предоставляется объем трафика пересчитанный на момент подключения.
Как и прежде проблема актуальна не для всех пользователей.
Удаляем услугу передачи траффика.
Удаляем периодическую услугу снимающую абон.плату.
Добавляем периодическую услугу снимающую абон.плату. При добавлении не ставим галочки отвечающие за пересчет, жмем "Ок". В результате имеем подключенную периодическую услугу, НО с юзера снялась не вся абон.плата а пересчитанная на момент подключения, хотя галочки не ставились и в параметрах услуги указан метод снятия денег "в начале расчетного периода".
Аналогичная проблема при подключении услуги передачи трафика - пользователю предоставляется объем трафика пересчитанный на момент подключения.
Как и прежде проблема актуальна не для всех пользователей.
Спасибо за ответ. Теперь самое интересное: к какому из видов блокировок привязанны галки?Nick писал(а):Это параметры которые отвечают за списывание абонентки в заблокированом состоянии. В интерфейсе accounts.block_recalc_abon - Не списывать абонплату, accounts.block_recalc_prepaid - пересчитывать траффик. 0 соответсвует не уснановленой галочке.

To Netup: Что за кошмар с документацией на систему? Галочки переименовывают от релиза к релизу. Чем дальше, тем сложнее разобраться в их смысле. На разных страницах описания разные противоречащие друг другу названия. Может все-таки остановимся, определимся с терминологией?
В суппорте заявили, что эти галочки относятся к ЛЮБОМУ типу блокировок.Nick писал(а):Как к какому... Естественно к системной (которая 16 в базе). Остальное проставляется администратором в зависимости от фантазии и потребностей.
Поле accounts.is_blocked описывает текущую блокировку юзера(нуль означает отсутствуие оной). В БД: если обе галки стоят, поле имеет значение 112(во всяком случае у меня было так), если нет, то действительно 16. Значение этого поля не рекомендуется редактировать руками.
Собственно в моем случае произошло следующее:
после обновления системы(до 5.1.10_008), часть галочек по поводу пересчетов поставилась, часть нет...зачем не понятно, до обновления ни одной галки не стояло - это точно. В результате если пользователь переходил в новый расчетный период не заблокированным, то система снимала с него всю абон плату и предоставляла весь предоплаченный трафик. Если при переходе он был в заблокированном состоянии, то абонентка не снялась и когда юзер пополнял счет ему предоставлялось пересчитанное количество трафика, снималась только часть абон платы. Собственно проблема исчерпанна и решилась убиранием не нужных галок, выплатой компенсаций за предоплаченный трафик, переподключением услуг у все еще заблокированных юзеров. Вообщем ночь была веселой...