Доработать проект по бронированию тура на Spring Boot
К сожалению, дальше этого не понимаю куда двигаться дальше.
Необходимо доработать оформление брони, а именно:
- Добавить роль «CLIENT» так, чтобы при регистрации первый пользователь был c ролью «ADMIN» (сейчас эта единственная роль), все остальные были клиенты
- Cоздать механизм, при котором пользователь со страницы описания тура сможет добавлять этот тур в корзину (есть неработающий js код с Rest контроллером для этой цели)
- В корзине (по адресу /cart) правильно считалась итоговая сумма, которая зависит от количества человек (на которых бронируется тур) и типа тура. При бронировании 2 и более человек предоставляется скидка 10% к итоговой сумме). После нажатия кнопки «Забронировать» сохранять данные в бд, которые будут после извлекаться и передаваться на страницу Админа.
- На странице админа имелась таблица (отдельной ссылкой на Админ панели (она уже реализована) бронирования туров с данными пользователей (id заказа, дата заказа, имя, фамилия, отчество, телефон, эл. адрес, id тура, название тура, цена) со статусом заказа: не оплачен, оплачен, завершен. По умолчанию статус «Не оплачен». Статус можно изменить через редактирование через выпадающий список. Также записи о бронировании можно удалить.
- После завершения первого заказа (т.е. если заказ в статусе «завершен») пользователю персонально начислялась скидка в 1% на следующую бронь. После 3+ -2%.
На текущий момент используются: Spring Boot, Spring Data JPA, JavaSpript(ajax), Thymeleaf, Rest.
БД: MySql.
Фронт: Bootstrap 4, оформление не нужно, главное, чтобы были таблицы.
Если нужно добавить новые переменные\методы в классах или классы\сущности для БД, в этом ограничений нет. Но желательно, что всё писалось через Репозитории и Сервисы.
По окончании работы желательно написать небольшие комментарии что и как было сделано для понимания работы.
Ссылку на гитхаб текущего процесса и скрипт бд вышлю при необходимости.