Система представляет собой HTTP API со следующими требованиями к бизнес-логике:
- регистрация, аутентификация и авторизация пользователей;
- приём номеров заказов от зарегистрированных пользователей;
- учёт и ведение списка переданных номеров заказов зарегистрированного пользователя;
- учёт и ведение накопительного счёта зарегистрированного пользователя;
- проверка принятых номеров заказов через систему расчёта баллов лояльности;
- начисление за каждый подходящий номер заказа положенного вознаграждения на счёт лояльности пользователя.
Ниже представлена абстрактная бизнес-логика взаимодействия пользователя с системой:
- Пользователь регистрируется в системе лояльности «Гофермарт».
- Пользователь совершает покупку в интернет-магазине «Гофермарт».
- Заказ попадает в систему расчёта баллов лояльности.
- Пользователь передаёт номер совершённого заказа в систему лояльности.
- Система связывает номер заказа с пользователем и сверяет номер с системой расчёта баллов лояльности.
- При наличии положительного расчёта баллов лояльности производится начисление баллов лояльности на счёт пользователя.
- Пользователь списывает доступные баллы лояльности для частичной или полной оплаты последующих заказов в интернет-магазине «Гофермарт».
Регистрация скидок:
curl --location 'http://localhost:8081/api/goods' \
--header 'Content-Type: application/json' \
--data '{
"match": "Bork2",
"reward": 20,
"reward_type": "pt"
}'
Зарегистрировать товары:
curl --location 'http://localhost:8081/api/orders' \
--header 'Content-Type: application/json' \
--data '{"order":"24141463521","goods":[{"description":"Bork2","price":8000}]}'
Получить статус заказа:
curl --location '127.0.0.1:8081/api/orders/24141463521'