Нужно дописать приложение для администратора сетевой ролевой игры, где он сможет редактировать параметры персонажей (игроков), и раздавать баны. Должны быть реализованы следующие возможности:
- получать список всех зарегистрированных игроков;
- создавать нового игрока;
- редактировать характеристики существующего игрока;
- удалять игрока;
- получать игрока по id;
- получать отфильтрованный список игроков в соответствии с переданными фильтрами;
- получать количество игроков, которые соответствуют фильтрам. Для этого необходимо реализовать REST API в соответствии с документацией. В проекте должна использоваться сущность Player, которая имеет поля: Long id ID игрока String name Имя персонажа (до 12 знаков включительно) String title Титул персонажа (до 30 знаков включительно) Race race Расса персонажа Profession profession Профессия персонажа Integer experience Опыт персонажа. Диапазон значений 0..10,000,000 Integer level Уровень персонажа Integer untilNextLevel Остаток опыта до следующего уровня Date birthday Дата регистрации Диапазон значений года 2000..3000 включительно Boolean banned Забанен / не забанен Также должна присутствовать бизнес-логика: Перед сохранением персонажа в базу данных (при добавлении нового или при апдейте характеристик существующего), должны высчитываться:
- текущий уровень персонажа
- опыт необходимый для достижения следующего уровня и сохраняться в БД. Текущий уровень персонажа рассчитывается по формуле: 𝐿 = √2500 + 200·exp − 50 100 , где: exp — опыт персонажа. Опыт до следующего уровня рассчитывается по формуле: 𝑁 = 50 ∙ (𝑙𝑣𝑙 + 1) ∙ (𝑙𝑣𝑙 + 2) − 𝑒𝑥𝑝 , где: lvl — текущий уровень персонажа; exp — опыт персонажа