Advertisement
madrahimov

Untitled

Aug 1st, 2016
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.29 KB | None | 0 0
  1. 1. Описание акции
  2. У ВАС МНОГО ДРУЗЕЙ? ПРИГЛАШАЙТЕ ИХ В U cafe И ПОЛУЧАЙТЕ БОНУСНЫЕ РУБЛИ НА СВОЮ КАРТУ
  3. Станьте клиентом нашего ресторана и у вас появится возможность получать бонусы на свою накопительную карту
  4. При регистрации приглашенного вами друга пусть он укажет ваш реферальный код
  5. • Ваш друг может зарегестрироваться, как в мобильном приложении, так и в самом ресторане
  6. • Приглашайте ваших друзей, объяснив идею бонусного клуба.
  7. • Если Ваш друг захочет сделать заказ, наша система запомнит его как "Ваш друг первого уровня". (Вы получите % на накопительную карту при его заказе)
  8. • В этом случае, Ваш друг при регистрации получит на свою карту 50 рублей, которые может израсходовать на покупку любой позиции нашего меню.
  9. • При каждой оплате, совершенной с карты Вашего друга, Вы будете получать на счет Вашей карты вознаграждение в размере 5% от суммы реальных денежных средств, которые он потратил .
  10. • При этом, Ваш друг также может пригласить своих друзей по аналогичной процедуре. Такие друзья становятся Вашими "друзьями второго уровня". Вы будете получать за них 3% .
  11. • Но и это еще не всё! Ваши "друзья второго уровня" могут также оказаться активными и пригласить Вам "друзей третьего уровня", за которых Вы будете получать 2%.
  12.  
  13. ПРИМЕРЫ
  14. • Предположим, Вы достаточно активны и пригласили 10 своих друзей, которые также пригласили по 10 своих друзей, которые,
  15. в свою очередь, были столь же результативны. Предположим, каждый из вышеупомянутых друзей в
  16. течение месяца выпил ВСЕГО ЛИШЬ ОДНУ кружку нефильтрованного пива (т.е. потратил всего 99 рублей).
  17. Итого, по результатам месяца, на Ваш счет будет зачислено (2*10*10*10 + 3*10*10 + 5*10)*99/100 = 2326 рублей!
  18. • Рассмотрим более реалистичную ситуацию.
  19. Не у каждого есть по 10 друзей-любителей-алкоголя.
  20. Да и приходят гости к нам в бар в среднем по 2 раза в месяц, а средний счет составляет 500 рублей.
  21. Предположим, Вам и Вашим друзьям удалось пригласить только по 7 друзей.
  22. В таком случае, по результатам месяца на Вашем счету окажется сумма 2*(2*7*7*7 + 3*7*7 + 5*7)*500/100 = 8680 рублей!
  23.  
  24.  
  25. Данные по бонусам записываются в таблицу marketing_bonus
  26. Ниже приведена таблица.
  27.  
  28. Table "marketing_bonus"
  29. Column | Type | Описание
  30. ----------------------+-----------------------------+-----------------------
  31. id | uuid | ID записи
  32. marketing_event_id | uuid | ID акции
  33. client_id | uuid | ID Клиента который получил бонус
  34. amount | numeric(20,4) | Сумма бонуса
  35. restaurant_id | uuid | ID заведения
  36. from_client_id | uuid | ID клиента через которого получил бонус
  37. level | integer | Уровень бонуса
  38. created_at | timestamp without time zone | not null
  39. updated_at | timestamp without time zone | not null
  40.  
  41. Задача
  42. Вывести данные по одному клиенту:
  43. 1 - Общую сумму его призов
  44. 2 - Кол-во его друзей первого уровня с которых получил призы
  45. 3 - Кол-во его друзей второго уровня с которых получил призы
  46. 3 - Кол-во его друзей третьего уровня с которых получил призы
  47.  
  48. Что можете предложить чтобы этот запрос работал быстро и выборка данных не была затратной для базы данных.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement