Inzevision
NoDeny
Пользователь
Карма: 3
Offline
Сообщений: 59
|
|
« : 26 Мая 2010, 12:00:26 » |
|
Сначала несколько слов о топологии сети. Есть общежитие, где в комнате могут подключатся до 4 человек. Логины абонентов построены логическим методом и по логину, можно определить, в какой комнате живёт клиент. Например: Логин 45180010 Начнём с конца. 10 – год подключения (две цифры); 00 – порядковый номер абонента с этой комнаты за текущий год (две цифры); 8 – номер общежития (одна цифра); 1 – номер комнаты (одна цифра, может принимать значения 1 или 2, тоесть или «а» или «б» комната); 45 – номер комнаты (состоит из двух или трёх цифр). Что я хочу сделать: Если в комнате подключено 2 клиента, у них тариф «Безлимит» и они вовремя заплатили, то ежемесячная абонплата уменьшается на 10 грн/10% для каждого. Если подключено 3 человека у них тариф «Безлимит» и вовремя заплатили, то уменьшается на 20 грн/20% для каждого. И так далее по схеме. Как я это вижу (несколько мыслей): - наверно модуль должен запускаться из крона, анализировать, все ли абоненты данной комнаты заплатили на начало месяца денюжку, и если все, то изменяет параметр «Скидка» на хх%. - скорее всего скрипт должен запускаться после скрипта перехода на новый месяц и изменять текущие параметры клиента. Например: Есть комната, в которой подключено 3 клиента. 2 из них вовремя заплатили а один не заплатил, значит, скидку никто не получает. Если в комнате подключено 3 клиента, и один из них находится на тарифном плане «Консервация линии», а два других абонента вовремя заплатили за инет, то скидка начисляется только Абонентам, которые на тарифном плане «Безлимит», на клиента с тарифом «Консервация линии» скидка не начисляется, но у него должен быть баланс на начало месяца больше или равно 0.
Вообщем описал всё как вижу, может чего-то упустил. Любые пожелания, дополнения, исправления логики работы приветствуются.
|