Как реализовать нужную логику списания денег?

Технические вопросы по UTM 5.0
Аким
Сообщения: 42
Зарегистрирован: Ср ноя 26, 2008 21:21

Как реализовать нужную логику списания денег?

Сообщение Аким »

Здравствуйте.

Есть галочка хорошая в биллинге, в редактировании абонента: "В заблокированном состоянии - Не списывать абонентскую плату." Но когда она стоит, то деньги вообще не списываются ни за одну услугу, в заблокированном состоянии.
Мне надо, чтобы деньги в заблокированном состоянии списывались, но в меньшем количестве:
тарифы включают по три услуги:
- доступ в Интернет;
- трафик;
- доступ в локльную сеть.
надо, чтобы в заблокированном состоянии плата за "доступ в локальную сеть" продолжала списываться.

На форуме не нашел достаточной информации, чтобы решить эту проблему. Может кто-нибудь помочь?

Спасибо.

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

Re: Как реализовать нужную логику списания денег?

Сообщение mrDefault »

Аким писал(а):Здравствуйте.

Есть галочка хорошая в биллинге, в редактировании абонента: "В заблокированном состоянии - Не списывать абонентскую плату." Но когда она стоит, то деньги вообще не списываются ни за одну услугу, в заблокированном состоянии.
Мне надо, чтобы деньги в заблокированном состоянии списывались, но в меньшем количестве:
тарифы включают по три услуги:
- доступ в Интернет;
- трафик;
- доступ в локльную сеть.
надо, чтобы в заблокированном состоянии плата за "доступ в локальную сеть" продолжала списываться.

На форуме не нашел достаточной информации, чтобы решить эту проблему. Может кто-нибудь помочь?

Спасибо.
А подробней, если я правильно понял вы хотите предоставлять доступ в локальную сеть при отрицательном балансе, точнее списывать АП в минус? Или при каких условиях у вас наступает такая блокировка?

AndrewE
Сообщения: 230
Зарегистрирован: Пн июл 17, 2006 07:38

Сообщение AndrewE »

Чел хочет при блокировке клиента продолжать списывать абонку по одной из услуг. А по другим не списывать.

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

Сообщение mrDefault »

AndrewE писал(а):Чел хочет при блокировке клиента продолжать списывать абонку по одной из услуг. А по другим не списывать.
это я понял, я не понял что является критерием блокировки, когда она наступает. Короче я вижу только выход в написании костыля который при наступлении системной блокировки будет отключать "ненужные" услуги... Хотя может я не прав.

Аким
Сообщения: 42
Зарегистрирован: Ср ноя 26, 2008 21:21

Сообщение Аким »

А подробней, если я правильно понял вы хотите предоставлять доступ в локальную сеть при отрицательном балансе, точнее списывать АП в минус? Или при каких условиях у вас наступает такая блокировка?
Да, правильно поняли. Технически мы не можем блокировать доступ абонентам в локальную сеть и не хотим, "овчинка выделки не стоит". Больше мороки отключать их от локальной сети, чем сама абонентская плата за локальную сеть (60 рублей в месяц). В локальной сети у нас не управляемые свичи и бегать дергать кабеля у задолженников глупо. Поэтому даже при блокировке Интернета абоненты могут пользоваться локальными ресурсами. Поэтому при блокировке Интернета, надо, чтобы 60 рублей в месяц уходили в минус, а потом, когда абоненту опять понадобится Интернет, ему придется оплатить этот минус.
я не понял что является критерием блокировки
критерий блокировки остается прежним: балланс меньший нуля.
Короче я вижу только выход в написании костыля который при наступлении системной блокировки будет отключать "ненужные" услуги...
Интересная мысль. Это надо значит SQL запрос такой придумать? В какой таблице надо удалять и какие значения? А получится подключить эти услуги по новой автоматически, когда абонент оплатит и будет разблокирован? В общем-то это решение, но не ожиданное для меня.

А реально сделать "костыль", который будет периодически списывать абонентскую плату за локальную сеть, а в UTM всем поставить галочки "не списывать абонентскую плату в заблокированном состоянии"? Это тоже SQL запросы, как сделать, чтобы этот скрипт вызывался во время отработки логики биллинга? Вообще логика биллинга через cron запускается или как? Тогда свой скрипт тоже можно периодически запускать и не привязывать его к UTM списаниям.

Спасибо, за участие.

Аватара пользователя
Chrst
Сообщения: 370
Зарегистрирован: Пт май 11, 2007 09:28
Откуда: Медиахолдинг "ЛеККС"
Контактная информация:

Сообщение Chrst »

Аким писал(а):
Короче я вижу только выход в написании костыля который при наступлении системной блокировки будет отключать "ненужные" услуги...
Интересная мысль. Это надо значит SQL запрос такой придумать? В какой таблице надо удалять и какие значения? А получится подключить эти услуги по новой автоматически, когда абонент оплатит и будет разблокирован? В общем-то это решение, но не ожиданное для меня.
Это медицина в чистом виде, зовется геморой. Работать возможно и будет, но через известное место. Головная боль обеспечена, не говоря о побочных явлениях в других местах.
А реально сделать "костыль", который будет периодически списывать абонентскую плату за локальную сеть, а в UTM всем поставить галочки "не списывать абонентскую плату в заблокированном состоянии"? Это тоже SQL запросы, как сделать, чтобы этот скрипт вызывался во время отработки логики биллинга? Вообще логика биллинга через cron запускается или как? Тогда свой скрипт тоже можно периодически запускать и не привязывать его к UTM списаниям.
Это более реальная схема, но только не через SQL запросы. Наверное правильнее будет создать разовую услугу не входящую в тарифный план и подключать ее через URFA-client. Ну или зачислять отрицательные суммы, только в этом случае в отчет по услугам это не попадет.

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

Сообщение mrDefault »

Chrst дело говорите, а я написал первое что в голову пришло :) Хотя особой разницы нет, единственное, что моя реализация сложнее...
Тогда свой скрипт тоже можно периодически запускать и не привязывать его к UTM списаниям.
Да такой скрипт, как предложил Chrst можно запускать по крону раз в месяц, ну или как часто у вас списывается АП за локальную сеть. Логика типа такой, когда наступает время списывать АП за локалку, дергается скрипт привязывается разовая услуга АП за локалку, деньги списываются, услуга отвязывается. Только вот возможен косяк сто после разблокирования АП за инет пересчитается и спишется не полностью или я не прав? Короче ясно одно без костыля не обойтись :D

Аким
Сообщения: 42
Зарегистрирован: Ср ноя 26, 2008 21:21

Сообщение Аким »

Привет.
Наверное правильнее будет создать разовую услугу не входящую в тарифный план и подключать ее через URFA-client. Ну или зачислять отрицательные суммы, только в этом случае в отчет по услугам это не попадет.
Оба решения приемлемы, постараюсь реализовать их оба, а жизнь покажет, что лучше. Теоретически решение задачи понятно, теперь надо перейти к практике.

1. Разовая услуга, как я понимаю, не подпадает под действие галочки "Не списывать абонентскую плату в заблокированном состоянии"? Надо проверить.

2. Ни разу на практике не пользовался URFA-client, дайте пожалуйста практический пример использования ввиде определенного скрипта, решающего прикладную задачу.

3. Зачислять отрицательные суммы можно с комментариями для абонента (за что), их всё-таки надо делать через SQL запросы, как я понимаю, да? Если "потыкаться" пару дней, то наверное смогу на приктике это сделать, но лучше, если есть, дайте пожалуйста тоже практический пример использования.

4. Про cron, тоже знаю только теоретически, практического опыта нет, тоже смогу сам разобраться, но быстрее если подскажете. У меня CentOS 5.2, где там файл настроек cron, и какую строчку надо бы добавить?

Спасибо.

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

Сообщение mrDefault »

Аким писал(а):Привет.
Наверное правильнее будет создать разовую услугу не входящую в тарифный план и подключать ее через URFA-client. Ну или зачислять отрицательные суммы, только в этом случае в отчет по услугам это не попадет.
Оба решения приемлемы, постараюсь реализовать их оба, а жизнь покажет, что лучше. Теоретически решение задачи понятно, теперь надо перейти к практике.

1. Разовая услуга, как я понимаю, не подпадает под действие галочки "Не списывать абонентскую плату в заблокированном состоянии"? Надо проверить.

2. Ни разу на практике не пользовался URFA-client, дайте пожалуйста практический пример использования ввиде определенного скрипта, решающего прикладную задачу.

3. Зачислять отрицательные суммы можно с комментариями для абонента (за что), их всё-таки надо делать через SQL запросы, как я понимаю, да? Если "потыкаться" пару дней, то наверное смогу на приктике это сделать, но лучше, если есть, дайте пожалуйста тоже практический пример использования.

4. Про cron, тоже знаю только теоретически, практического опыта нет, тоже смогу сам разобраться, но быстрее если подскажете. У меня CentOS 5.2, где там файл настроек cron, и какую строчку надо бы добавить?

Спасибо.
1. проверил, при подключении списание происходит
2. хм, тут скриптами не обойтись, сам урфа клиент есть у вас? Если нет можно поюзать урфа php, он вроде умеет услуги привязывать и отвязывать, хотя сам не использовал утверждать не берусь.
3. Зачем зачислять SQL запросом? Есть замечательная утилитка utm5_payment_tool живет в /netup/utm5/bin . Про неё читать на странице 323 руководства. А вообще зачисления при помощи её делать примерно так: /netup/utm5/bin/utm5_payment_tool -k "xxxx" -L " payment(id=)'.id" -a "'аккаунт'" -b сумма -c "810" -m "102" -e id -t время
4. Про крон читать тут http://www.rhd.ru/docs/manuals/enterpri ... -task.html
обычно crontab живет в /etc

Аким
Сообщения: 42
Зарегистрирован: Ср ноя 26, 2008 21:21

Сообщение Аким »

Спасибо.

В Дополнительно - > Плагины нет liburfa-client, как понимаю, значит нет у меня URFA клиента.
Но есть скрипт: /netup/utm5/bin/utm5_urfaclient.

Буду "переваривать" информацию, почитаю ещё документацию, разберусь, нужно время.

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

Сообщение mrDefault »

Аким писал(а):Спасибо.

В Дополнительно - > Плагины нет liburfa-client, как понимаю, значит нет у меня URFA клиента.
Но есть скрипт: /netup/utm5/bin/utm5_urfaclient.

Буду "переваривать" информацию, почитаю ещё документацию, разберусь, нужно время.
урфа клиент стоит 45 тысяч ублей ;)

NShut
Сообщения: 72
Зарегистрирован: Ср апр 01, 2009 12:39

Сообщение NShut »

маленькая заметка если не пользоваться урфа клиентом, а через скул запросы. многие вещи УТМ хранит в памяти, скидывая в базу через определенное время данные. например классы трафика без перезагрузки ядра он с базы невозьмет. следует уситывать это. ну и платежи скулом вносить вобще опасно. рассогласуются таблицы в момент когда утм и вы будете транзакции проводить. разве что утм стопить на время работы скрипта.

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

Сообщение mrDefault »

NShut писал(а):.... ну и платежи скулом вносить вобще опасно. рассогласуются таблицы в момент когда утм и вы будете транзакции проводить. разве что утм стопить на время работы скрипта.
Ну вносить платежи прямыми запросами к базе при наличии спец. инструмента от нетап, это уж совсем мазохизм :shock: Надеюсь автор темы к такому не придет :)

Аватара пользователя
ds
Сообщения: 380
Зарегистрирован: Пн сен 18, 2006 14:06

Сообщение ds »

Аким писал(а):Спасибо.

В Дополнительно - > Плагины нет liburfa-client, как понимаю, значит нет у меня URFA клиента.
Но есть скрипт: /netup/utm5/bin/utm5_urfaclient.

Буду "переваривать" информацию, почитаю ещё документацию, разберусь, нужно время.
Этот "скрипт" и есть URFA клиент.

Даже удобнее будет viewtopic.php?t=6402

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

Сообщение mrDefault »

ds писал(а):
Аким писал(а):Спасибо.

В Дополнительно - > Плагины нет liburfa-client, как понимаю, значит нет у меня URFA клиента.
Но есть скрипт: /netup/utm5/bin/utm5_urfaclient.

Буду "переваривать" информацию, почитаю ещё документацию, разберусь, нужно время.
Этот "скрипт" и есть URFA клиент.

Даже удобнее будет viewtopic.php?t=6402
Угу, осталось только лицензию на него найти и вообще красота будет :) или я что-то не понимаю? :oops:

Ответить