Блокировка при нулевом балансе

Технические вопросы по UTM 5.0
Женя
Сообщения: 15
Зарегистрирован: Сб ноя 29, 2008 23:42

Сообщение Женя »

MiO и Chris, спасибо за помощь. Наверное, придется остановиться на варианте, предложенном MiO.

Жаль только, что эта тривиальная на первый взгляд задача не решается простым красивым встроенным в систему :) образом.

Если у кого еще есть какие мысли об организации целочисленного биллинга :) , как говорится you are welcome! Ну реально не нужны копейки, когда абонентка фиксирована и анлим.

MiO
Сообщения: 303
Зарегистрирован: Ср окт 01, 2008 23:34

Сообщение MiO »

копейки эти это как мне кажется малая плата :) если есть другое решение то я тоже готов выслушать :)

Pulse
Сообщения: 945
Зарегистрирован: Вт окт 03, 2006 12:58

Сообщение Pulse »

поидее, если недостаточно средств, то списания не должно произойти и абон должен заблокироваться до выяснения обстоятельств. это реализуемо urfaclient`ом, но при такой схеме через год-два скопится дофига несписанного налика на балансе, потому что юзеры забывают/забивают/меняютоператора и тп. вот как с этим наликом бороться - непонятно...

Аватара пользователя
XoRe
Сообщения: 458
Зарегистрирован: Ср янв 10, 2007 16:04

Сообщение XoRe »

Я бы порекомендовал написать скрипт, который проводит оплату в утм включает интернет юзеру.
И скрипт, который в конце месяца проверяет: оплата есть (за следующий месяц) - инет оставляем (а денежку со счета снимаем), оплаты нет - инет вырубаем.
Прикрутить к первому скрипту веб морду и оплату нужных юзеров проводить только через эту веб морду.
И подружить с первым скриптом платежные системы.
А второй скрипт засунуть в крон.

P.S.
Не бойтесь добавлять свои костыли к UTM.
Ваши костыли - это та часть биллинга, которая может быть под вашим контролем)

integral
Сообщения: 75
Зарегистрирован: Чт авг 14, 2008 14:15

Сообщение integral »

А такой запрос подойдет для скрипта проверки баланс / Абон.плата как вы думаете ?

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

SELECT 
  users.id AS uid,
  users.basic_account AS aid,
  accounts.balance,
  accounts.int_status,
  periodic_services_data.cost,
  accounts.is_blocked
FROM
  users
  INNER JOIN accounts ON (users.basic_account = accounts.id)
  INNER JOIN service_links ON (accounts.id = service_links.account_id)
  LEFT OUTER JOIN periodic_services_data ON (service_links.service_id = periodic_services_data.id)
WHERE
  users.is_deleted = 0 AND 
  accounts.is_deleted = 0 AND 
  service_links.is_deleted = 0 AND 
  periodic_services_data.is_deleted = 0 AND 
  periodic_services_data.discount_method = 1 AND 
  periodic_services_data.cost > 0

Arti
Сообщения: 266
Зарегистрирован: Пн окт 01, 2007 02:44

Сообщение Arti »

Чтобы блокировалось точно в нулях, нужно чтобы билинг планировал блокировку, а это не всегда возможно. Например на тарифах с предоплаченным трафиком планировать блокировку ЛС невозможно.

Можно конешно увеличить количество списаний в единицу времени, но это поможет слабо. Кроме того минимальная сумма которая списывается с ЛС - конечна (не стремиться к нулю ;) ) и задется в параметрах. Однако даже при очень большом количестве списаний в единицу времени и малой, но конечной величиной разового списания, гарантировать блок точно на какой-то заданной границе невозможно, зато абсолютно ненужная лишняя загрузка сервера - гарантированна.

Теоретически планировать блок можно на тарифах содержащие только периодические услуги.

Но т.к. эта система позиционируется как универсальная, такое делать никто в "общей" ветке никто не будет.

Вобще блокировка в "-" просто означает что услуги предоставлялись в чуть большем объеме, если отрицательный кредит или положительный порог блокировки - то в чуть меньшем. Смысла устраивать истерик по этому поводу и навешивать "костыли", которые еще скорей всего будут ломаться чаще чем сама система (ну или эти костыли и будут её ломать) я не вижу.

integral
Сообщения: 75
Зарегистрирован: Чт авг 14, 2008 14:15

Сообщение integral »

to arti
если ты это мне написал, то мне не нужно чтоб блокировалось всё точно в нулях, я хочу чтоб люди не уходили в минуса когда на балансе денег меньше чем снимется абонентская плата в новом расчетном периоде.. То есть допустим, в 23:50 в конце каждого месяца скрипт запускается и сверяет текущий баланс с абонентской платой на его ТП и если сумма на балансе меньше абон.платы то клиент блокируется. И тогда при переходе на новый расчетный период, абонентская плата не снимется сразу (ну соотвественно, если стоит галочка у клиента "в заблокированном состояни не снимать абон.плату")

mrDefault
Сообщения: 86
Зарегистрирован: Ср окт 29, 2008 12:04

Сообщение mrDefault »

integral писал(а):to arti
если ты это мне написал, то мне не нужно чтоб блокировалось всё точно в нулях, я хочу чтоб люди не уходили в минуса когда на балансе денег меньше чем снимется абонентская плата в новом расчетном периоде.. То есть допустим, в 23:50 в конце каждого месяца скрипт запускается и сверяет текущий баланс с абонентской платой на его ТП и если сумма на балансе меньше абон.платы то клиент блокируется. И тогда при переходе на новый расчетный период, абонентская плата не снимется сразу (ну соотвественно, если стоит галочка у клиента "в заблокированном состояни не снимать абон.плату")
Не вижу особого смысла в таких телодвижениях. Ну и что, что у клиента на счету не хватает денег на АП, сам виноват :) По большему счету какая разница будет он в блоке с минусом или без него, смысл от этого не меняется. Единственное только, что тем самым вы добьетесь того, что следующая АП будет меньше из-за простоя, если стоит перерасчет АП. Но насколько я знаю по закону о связи АП можно списывать пол года если абонент не платит и не писал никаких заявлений на расторжение/приостановление. Или я вас не правильно понял?

integral
Сообщения: 75
Зарегистрирован: Чт авг 14, 2008 14:15

Сообщение integral »

Ну мне кажется более логичным не списывать абонентку если не хватет денег.

mrDefault
Сообщения: 86
Зарегистрирован: Ср окт 29, 2008 12:04

Сообщение mrDefault »

integral писал(а):Ну мне кажется более логичным не списывать абонентку если не хватет денег.
Логично не предоставлять услуги если на них не хватает денег, а фиксированная АП должна списываться в любом случае по договору который заключал абонент, как я уже писал, есть у него деньги или нет на АП, это его проблемы, у провайдера есть договор по которому абонент должен платить АП, хотя бы из-за того, что он занимает отдельный порт(если речь идет конечно не о ВПН). Хотя это мое мнение, не буду его навязывать :)

dk
Сообщения: 424
Зарегистрирован: Чт авг 10, 2006 08:52

Сообщение dk »

mrDefault писал(а):у провайдера есть договор по которому абонент должен платить АП
А у абонента есть закон "О связи", согласно которому он не должен платить за неоказанные услуги, так что не всё так просто.

Pei0t
Сообщения: 258
Зарегистрирован: Чт дек 13, 2007 20:48

Сообщение Pei0t »

Так кто как блокирует пользователя? Скажем если у него списание денег в течении месяца и включённый трафик?

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

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

Pei0t
Сообщения: 258
Зарегистрирован: Чт дек 13, 2007 20:48

Сообщение Pei0t »

mikkey finn писал(а):деньги кончаются - блокировка. Скушал или нет вложенный трафик - не волнует, потому что у него нет денег на оплату услуги.
Ну а если он за один день слил 5 гигов, и оплатил этот день, согласно договору (тоесть 1/30 от АП в день) скажем 5 рублей...А потом у него -1 рубль и он блокируется.

Затем на след РП он пополняет баланс на 5 рублей и опять скачивает 5 гигов за день и опять блокируется.

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

Если тафри сформулирован как "5ГБ за 100р, превышение по 20р/гиг", то у вас полное право списать с него абонентку.
Если же там АП 100р(а за что вы ее берете?), 5ГБ бесплатно, свыше - 20р/гиг, ну крутитесь от формулировок в договоре и тарифах.

Ответить