Skip to content

Victor9401/Testing1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

Задача

Необходимо разработать приложение, предоставляющее публичный API возвращающий список из 10 человек, собравших максимальный экспресс* за сутки.

* - Под экспрессом понимается ставка, сделанная на несколько исходов (исход - то, на что можно поставить).

Приложение должно иметь 2 эндпоинта, один публичный и один - для администраторов.

Публичный эндпоинт должен возвращать список из 10 строк, содержащие: позицию, маскированный логин, коэффициент экспресса и сумму выигрыша пользователя.

Так же API должен предоставлять защищенный эндпоинт для администратора, который предоставляет подробные данные о 10 победителях, собравших максимальный экспресс за сутки, с доп. информацией (логин пользователя без звездочек). Авторизация осуществляется передачей секретного ключа в параметре пост запроса.


Требования

  • Список должен быть отсортирован по убыванию общего коэффициента (Получается перемножением всех коэффициентов исходов)
  • Сумма ставки должна быть больше 200 рублей.
  • Пользователи в списке должны быть из России.
  • Пользователь должен собрать именно экспресс.
  • Дата ставки и дата выигрыша должны быть в интервале 00:00 - 23:00 одного дня.
  • Ставка не должна быть отозвана (cashout_is == 0).
  • Для публичного эндпоинта, центр логина должен быть закрыт звездочками, пример 12**56.
  • Для эндопинта администратора, возвращается то же самое, кроме того, что логин пользователя не закрыт маской (без *)
  • Необходимо кешировать ответ с ttl в 5 минут.

Входные данные:

Очередь в kafka, содержащая сообщения в формате json:

{
  "login": "user_login",
  "platform": "PLATFORM_ENUM",
  "bet_sum": 500.0,
  "pay_sum": 750.0,
  "bet_date": 1234567890,
  "calc_date": 1234567890,
  "cashout_is": 0,
  "type_bet": "TYPE_BET_ENUM",
  "card_data": [
    {
      "card_data_id": 12345,
      "coef": 1.25,
      "match": "Match Name",
      "champ": "Champ Name",
      "sport": "Sport Name",
      "result": "RESULT_ENUM"
    }
  ]
}

Полезная информация

Реализованный сервис доступен на странице https://www.olimp.bet/3000000nakarantine2020/

Призовые выплаты:

  • 1 место - 30000
  • 2 место - 20000
  • 3 место - 15000
  • 4 место - 10000
  • 5 место - 8000
  • 6 место - 6000
  • 7 место - 4000
  • 8 место - 3000
  • 9 и 10 места - 2000

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published