Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1. Описание акции
- У ВАС МНОГО ДРУЗЕЙ? ПРИГЛАШАЙТЕ ИХ В U cafe И ПОЛУЧАЙТЕ БОНУСНЫЕ РУБЛИ НА СВОЮ КАРТУ
- Станьте клиентом нашего ресторана и у вас появится возможность получать бонусы на свою накопительную карту
- При регистрации приглашенного вами друга пусть он укажет ваш реферальный код
- • Ваш друг может зарегестрироваться, как в мобильном приложении, так и в самом ресторане
- • Приглашайте ваших друзей, объяснив идею бонусного клуба.
- • Если Ваш друг захочет сделать заказ, наша система запомнит его как "Ваш друг первого уровня". (Вы получите % на накопительную карту при его заказе)
- • В этом случае, Ваш друг при регистрации получит на свою карту 50 рублей, которые может израсходовать на покупку любой позиции нашего меню.
- • При каждой оплате, совершенной с карты Вашего друга, Вы будете получать на счет Вашей карты вознаграждение в размере 5% от суммы реальных денежных средств, которые он потратил .
- • При этом, Ваш друг также может пригласить своих друзей по аналогичной процедуре. Такие друзья становятся Вашими "друзьями второго уровня". Вы будете получать за них 3% .
- • Но и это еще не всё! Ваши "друзья второго уровня" могут также оказаться активными и пригласить Вам "друзей третьего уровня", за которых Вы будете получать 2%.
- ПРИМЕРЫ
- • Предположим, Вы достаточно активны и пригласили 10 своих друзей, которые также пригласили по 10 своих друзей, которые,
- в свою очередь, были столь же результативны. Предположим, каждый из вышеупомянутых друзей в
- течение месяца выпил ВСЕГО ЛИШЬ ОДНУ кружку нефильтрованного пива (т.е. потратил всего 99 рублей).
- Итого, по результатам месяца, на Ваш счет будет зачислено (2*10*10*10 + 3*10*10 + 5*10)*99/100 = 2326 рублей!
- • Рассмотрим более реалистичную ситуацию.
- Не у каждого есть по 10 друзей-любителей-алкоголя.
- Да и приходят гости к нам в бар в среднем по 2 раза в месяц, а средний счет составляет 500 рублей.
- Предположим, Вам и Вашим друзьям удалось пригласить только по 7 друзей.
- В таком случае, по результатам месяца на Вашем счету окажется сумма 2*(2*7*7*7 + 3*7*7 + 5*7)*500/100 = 8680 рублей!
- Данные по бонусам записываются в таблицу marketing_bonus
- Ниже приведена таблица.
- Table "marketing_bonus"
- Column | Type | Описание
- ----------------------+-----------------------------+-----------------------
- id | uuid | ID записи
- marketing_event_id | uuid | ID акции
- client_id | uuid | ID Клиента который получил бонус
- amount | numeric(20,4) | Сумма бонуса
- restaurant_id | uuid | ID заведения
- from_client_id | uuid | ID клиента через которого получил бонус
- level | integer | Уровень бонуса
- created_at | timestamp without time zone | not null
- updated_at | timestamp without time zone | not null
- Задача
- Вывести данные по одному клиенту:
- 1 - Общую сумму его призов
- 2 - Кол-во его друзей первого уровня с которых получил призы
- 3 - Кол-во его друзей второго уровня с которых получил призы
- 3 - Кол-во его друзей третьего уровня с которых получил призы
- Что можете предложить чтобы этот запрос работал быстро и выборка данных не была затратной для базы данных.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement