Публичное api для микрокомпьютера и форм
Go to file
2025-03-20 22:06:20 +03:00
gradle/wrapper Initial commit. Project wrapper 2025-01-02 21:57:38 +03:00
src Add description for jobs and rest methods 2025-03-20 22:04:44 +03:00
.gitattributes Initial commit. Project wrapper 2025-01-02 21:57:38 +03:00
.gitignore Change db schema 2025-02-14 18:24:09 +03:00
build.gradle.kts Bank gateway integration, rest for getting slots, email sending. 2025-03-18 18:29:36 +03:00
gradlew Initial commit. Project wrapper 2025-01-02 21:57:38 +03:00
gradlew.bat Initial commit. Project wrapper 2025-01-02 21:57:38 +03:00
README.md Add description for rest method slots retrieving 2025-03-20 22:06:20 +03:00
settings.gradle.kts Initial commit. Project wrapper 2025-01-02 21:57:38 +03:00

Приложение предоставления API и логики формирования и отправки QR-кодов

Приложение предоставляет API для получения QR-кодов для дверей по идентификатору устройства, получение слотов для дверей по идентификатору партнера. Реализует логику формирования и отправки QR-кодов, интеграцию с платежным шлюзом методом обратного вызова и методом опроса REST метода шлюза.

Запуск приложения

Для приложения требуется БД и конфигурация подключения к БД. При запуске приложения будут выполнены миграции в src/main/resources/db/changelog Также для работы приложения нужен запущенный сервер авторизации

Для запуска приложения нужно выполнить команду

gradle bootRun

Сборка приложения

gradle jar

Задания по расписанию

  • EmailOutboxSendJob - задание формирования и отправки QR-кода
  • CleanExpiredNotPayedRentJob - задание по расписанию для опроса платежного шлюза и удаления просроченных не оплаченных бронирований

Http методы

  • POST /public/book - метод бронирования двери
  • POST /public/book/callback - метод для обратного вызова шлюза
  • GET /qr - метод получения QR-кодов для определенного устройства(информация об устройстве берется из токена)
  • POST /qr-used/{qrId} - метод пометки о том, что qr-код был использован(для сбора метрик)
  • GET /public/slots/{partnerId} - метод получения текущего расписания дверей для партнера