Здравствуйте уважаемые исполнители, предлагаю простую задачку:<br>1. REST API<br> SQL CRUD<br>Суть работы магазина:<br>Пользователь создает заказ при этом выбирая товар, поставщика и пункт доставки (представлен в виде адреса). <br>Требуется сделать следующие endpoint-ы:<br>1.1. Добавление нового заказа.<br> Данные для добавления:<br> - Дата заказа.<br> - Товар. Представлен в виде справочника (см. ниже).<br> - Поставщик. Представлен в виде справочника (см. ниже).<br> - Планируемая дата доставки.<br> - Пункт доставки. Представлен в виде справочника (см. ниже).<br> В качестве ответа нужно вывести:<br> - Идентификатор заказа.<br> - Статус заказа. Представлен в виде справочника (см. ниже).<br> Выполнить валидацию - планируемая дата доставки должна быть позже даты заказа.<br> При добавлении заказа следует установить ему статус "доставка".<br><br>1.2. Завершение доставки товара.<br> Установить статус "доставлен" и заполнить реальную дату доставки.<br> В качестве данных запроса следует отправлять:<br> - id заказа.<br> - реальную дату доставки.<br> Ответ:<br> - Идентификатор заказа.<br> - Статус заказа.<br> Валидация: Данное действие допустимо только для заказа со статусом "доставка".<br><br>1.3. Заказ получен.<br> Сменить статус на "получен" и заполнить дату получения.<br> Запрос:<br> - id заказа.<br> - дата получения.<br> Ответ:<br> - Идентификатор заказа.<br> - Статус заказа.<br> Валидация: Действие допустимо для статуса "доставлен".<br>1.4. Заказ отменен.<br> Удалить запись о заказе.<br> Запрос:<br> - id заказа.<br> Ответ:<br> - Идентификатор заказа.<br> - Статус заказа - "отменен".<br>1.5. Получение информации по заказу.<br> Запрос:<br> - id заказа.<br> Ответ: полная информация по заказу.<br><br>Предусмотреть соответствующие контроллеры, сервисы и CRUD репозитории.<br>1.6. Создать таблицу заказов в БД<br>1.7. Добавить и заполнить данными нужные для реализации справочники:<br> - Товар: идентификатор, наименование.<br> - Поставщик: идентификатор, наименование.<br> - Пункт доставки: идентификатор, адрес.<br> - Статус заказа: идентификатор, наименование.<br>