====== Злочин та кара ====== {{ :raskolnikovsaxe.jpg?300|}} Починаючи з Ubilling 0.6.7 реалізовано нову механіку вбивства старушенцій нарахування штрафів, за перебування абонентом у неактивному (читаємо - неоплаченому) стані впродовж певного інтервалу, який зазначається в кількості днів. Штраф нараховується одноразово, при досягненні абонентом зазначеного порогу. ====== Як конфігурується? ====== Вся обробка здійснюється щоденним викликом відповідного action з [[remoteapi|Remote API]] - crimeandpunishment. В кроні краще розмістити її вже після нарахування абонплати та інших дій, що зачіпають баланс абонента. Наприклад ось так: 2 2 * * * /bin/ubapi "crimeandpunishment" Поведінка цього механізму повністю регулюється за допомогою таких опцій [[alteriniconf|alter.ini]] ось в такому вигляді для прикладу:\\ CAP_ENABLED=1 CAP_DAYLIMIT=30 CAP_PENALTY_PERCENT=0 CAP_PENALTY=20 CAP_PAYID=1 CAP_IGNOREFROZEN=1 ====== Що взагалі відбувається? ====== Призначено це все для опису бізнес логіки такого вигляду: * Абонент //Родіон Романович// забув оплатити інтернет і раптово стан його рахунку став меншим за кредитний ліміт. * Він не є замороженим - ігнорування цього факту відбувається за допомогою **CAP_IGNOREFROZEN**. * Для нього заводиться відповідний запис у БД і лічильник днів неактивності виставляється в 1 (один). * Якщо лічильник неактивності вже існує - до нього додається ще один день, на шляху до невідворотного кінця. * Якщо лічильник неактивності Раскольнікова стає рівним кількості в 30 днів - **CAP_DAYLIMIT** - відбувається зняття суми 20 грошей **CAP_PENALTY** з рахунку, під виглядом платежу типу "готівка" **CAP_PAYID** * Лічильник продовжує тікати... ну так... про всяк випадок. * Якщо абонент розкаявся і вніс на рахунок суму, достатню для погашення боргу (або Баланс почав дорівнювати кредитному ліміту) - лічильник неактивності виставляється в 0 (нуль) і продовжує очікувати подальшого розвитку подій у засідці. * Про всі ці цікаві події можна дізнатися за допомогою відповідного модуля "Чорної магії": {{:dostoevsky.png?|}}