Користувальницькькі налаштування

Налаштування сайту


cumulativediscounts

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Наступна ревізія По сторонах наступні версії
cumulativediscounts [2015/05/28 01:21]
cumulativediscounts [2022/09/24 14:39]
127.0.0.1 зовнішнє редагування
Рядок 1: Рядок 1:
 +====== Накопительные скидки ======
 +{{ :cudiscounts.jpg?300|}}
 +Начиная с Ubilling 0.6.7 реализована новая механика накопительных скидок. Что она из себя представляет? А представляет она из себя страшную штуку, ежедневно динамически крутящую процент скидки для активных пользователей, при достижении определенных условий, и начисляющий относительно этого процента часть полной стоимости текущего тарифного плана. Вся обработка производится ежедневным вызовом соответствующего действия из [[remoteapi|Remote API]] - cudiscounts. Очень хорошо бы уже после начисления абонплаты. Например вот так:
 +<code bash>
 +1 1 * * *       /bin/ubapi "cudiscounts"
 +</code>
 +
 +Поведение накопительных скидок описывается следующими опциями конфига [[alteriniconf|alter.ini]] в вот таком виде для примера:\\
 +
 +<code ini>
 +  CUD_ENABLED=1
 +  CUD_PULLDAYS=30 
 +  CUD_PERCENT=1
 +  CUD_PERCENTLIMIT=10
 +  CUD_PAYID=1
 +  CUD_CFID="44"
 +  CUD_OPERATION="ADD"
 +</code>
 +
 +====== Что происходит? ======
 +Предназначено это все для описания бизнес логики следующего вида: 
 +  * Абонент //Василий Илларионович// исправно платит на протяжении 30 дней **CUD_PULLDAYS** (ну, как минимум у него все хорошо с балансом, он не заморожен, и не отключен принудительно) Возможно он заплатил вперед - это нас не волнует. В общем у Василия все хорошо.
 +  * По прохождению этих самых 30 дней, ему выставляется 1 процент скидки **CUD_PERCENT**, и счетчик дней выставляется в 0. По текущему значению процента скидки абоненту начисляются средства в размере 1% от стоимости тарифа. Оплата будет проведена как типичный платеж (CUD_OPERATION=ADD) с типом **CUD_PAYID** - в нашем случае это наличка. Да - никто не мешает зарезервировать под всякие такие вещи какой-то особенный тип платежей. Также внесение на счет скидочных средств можно оформить как "корректировку баланса" при помощи CUD_OPERATION=CORR
 +{{:cudiscountscash.png?600|}}
 +  * Все, абонент Василий пошел на следующий заход в 30 дней по накоплению следующего, второго процента своей скидки. 
 +  * Через 300 дней активного использования нашей услуги Василий упирается в верхний порог скидки в 10% **CUD_PERCENTLIMIT** (ну да, у нас же не благотворительная организация, правда?)
 +  * В общем живет себе Василий счастливо, получая ежемесячно на счет по 10% стоимости своего тарифа.
 +  * И тут наступает ситуация - деньги на счету Василия Илларионовича неожиданно заканчиваются. По какой причине? Как всегда по трагической. Его сбил автобус. Да, насмерть, а как же еще? И он не смог оплатить Интернет вовремя. Что случается? А ничего - бонусные средства ясно не начисляются, процент скидки выставляется в 0 (ноль), и его безутешная вдова после пополнения счета опять будет накапливать до 10% скидки на протяжении 10 месяцев по новой. Несправедливо? Ну а как же еще - жизнь вообще по своей природе несправедливая штука.
 +  * А что же с абонентом по имени //Никодим Петрович//? 
 +  * А он поставщик качественного колумбийского <del>кокаина</del> кофе. 
 +  * За это ему от нас положена пожизненная скидка в 20%. Как это реализовано? А при помощи опции CUD_CFID указывающего ID вот такого поля профиля, типа VARCHAR, где для абонента можно указать принудительную скидку.
 +{{:cudiscountscf1.png?600|}}
 +  * Каждый раз при обработке абонента с этим заполненным полем вместо "натуральной накопительной" скидочный процент будет подменяться на указанный в его профиле.
 +{{:cudiscountscf2.png?600|}}
 +
 +====== Как проверять? ======
 +При большом желании, о всех этих событиях можно узнать при помощи соответствующего модуля:\\
 +{{:cudiscpl1.png?600|}}
 +\\
 +{{:cudiscpl2.png?600|}}
 +
  
cumulativediscounts.txt · Востаннє змінено: 2024/04/05 15:49 повз nightfly