|
|
|
Структура таблиц для вспомогательной агрегации
|
|||
|---|---|---|---|
|
#18+
Продумываю реализацию агентской программы. Ее условия: - агент получает % от стоимость подключения - агент получает % с клиентской абонплаты за услуги - абонплата может быть разной (посуточной, месячной, годовой) - у разных видов услуг разная процентная ставка - в ряде случаев клиенты могут пользоваться услугами в минус ("Обещанный платеж", гарантийное письмо и т.д.), однако для клиентов с отрицательным балансом агентское вознаграждение не начисляется - у агента должно быть не менее 3 активных клиентов для действия программы - выплата агенту производится раз в месяц Обсчет услуг клиентов ведет биллинговая система, все начисления за услуги в ней регистрируются. Однако таблица начислений очень большая и прямое ее использование в запросах у меня не получается сделать эффективным (быстрым). Поэтому я думаю запускать скрипт раз в сутки (минимальный расчетный период абонплаты - сутки) и аккумулировать начисленную за сутки абонплату в примерно такой таблице: ПолеТипОписаниеclient_idчислоИдентификатор клиентаpediodдатаРасчетный период выплат агента (1-ое число месяца)dayдатаДата, до которой начислена абонплатаtypeчислоТип услуги, по которому определяется процентная ставкаsum_allчислоОбщая сумма начисленной абонплаты за период с period по daysum_clearчислоСумма абонплаты по клиентам с положительным балансом С помощью такой таблицы я определяю начисления за расчетный период по каждому клиенту и каждому типу услуг и на их основе смогу вычислить сумму вознаграждения агенту. Не посоветуете, как такие задачи обычно решаются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 15:10 |
|
||
|
Структура таблиц для вспомогательной агрегации
|
|||
|---|---|---|---|
|
#18+
Alibek B.Не посоветуете, как такие задачи обычно решаются?Обычно не в этом форуме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 15:28 |
|
||
|
Структура таблиц для вспомогательной агрегации
|
|||
|---|---|---|---|
|
#18+
Да, промахнулся. Просьба к модераторам перенести в соответствующий раздел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 15:50 |
|
||
|
Структура таблиц для вспомогательной агрегации
|
|||
|---|---|---|---|
|
#18+
Alibek B., я б отталкивался от агента агент_ид период сума ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 16:02 |
|
||
|
Структура таблиц для вспомогательной агрегации
|
|||
|---|---|---|---|
|
#18+
Если у меня будет просто сумма абонплат за период в разрезе клиентов и типов услуг, я могу считать агентские начисления как угодно. Если я буду сразу считать сумму агентских начислений, то на разные агентские схемы (с разными условиями и типами услуг) нужно будет делать отдельные расчеты. Собственно у меня и намечается, что будет две агентские программы с разными условиями (разным перечнем услуг, по которым идет начисление, разными ставками), поэтому я бы хотел вспомогательную агрегацию делать универсальной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 16:47 |
|
||
|
Структура таблиц для вспомогательной агрегации
|
|||
|---|---|---|---|
|
#18+
Если биллинг коммерческий, что перечтите документацию - обычно такие вещи предусмотрены вендором биллинга. Если самописный - то решать архитектору. К примеру, начисление агентского вознаграждения может быть реализовано как часть процесса начисления абоненту - это если биллинг исповедует событийную модель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 17:15 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39527711&tid=1885181]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
393ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 690ms |

| 0 / 0 |
