Sync changes and README.md
This commit is contained in:
parent
46bf29a5eb
commit
911f971958
18
README.md
Normal file
18
README.md
Normal file
@ -0,0 +1,18 @@
|
||||
# Приложение предоставления API и логики формирования и отправки QR-кодов
|
||||
|
||||
Приложение предоставляет API для получения QR-кодов для дверей по идентификатору устройства, получение слотов для дверей по идентификатору партнера.
|
||||
Реализует логику формирования и отправки QR-кодов, интеграцию с платежным шлюзом методом обратного вызова и методом опроса REST метода шлюза.
|
||||
|
||||
## Запуск приложения
|
||||
|
||||
Для приложения требуется БД и конфигурация подключения к БД.
|
||||
При запуске приложения будут выполнены миграции в src/main/resources/db/changelog
|
||||
Также для работы приложения нужен запущеный авторизационный сервер
|
||||
|
||||
Для запуска приложения нужно выполнить команду
|
||||
|
||||
`gradle bootRun`
|
||||
|
||||
## Сборка приложения
|
||||
|
||||
`gradle jar`
|
@ -3,14 +3,15 @@ package ru.vyatsu.qr_access_api.qr.repository
|
||||
import org.springframework.jdbc.core.JdbcTemplate
|
||||
import org.springframework.stereotype.Repository
|
||||
import ru.vyatsu.models.QrCode
|
||||
import java.time.LocalDateTime
|
||||
import java.time.ZoneId
|
||||
import java.util.*
|
||||
|
||||
private const val GET_ACTUAL_QRS_BY_UNIT_ID = """
|
||||
SELECT q.start_date_time, q.end_date_time, q.door_id, q.key_code FROM qrs q
|
||||
JOIN doors d ON (d.id = q.door_id)
|
||||
SELECT r.start_time, r.end_time, r.date, r.door_id, r.qr_code FROM rents r
|
||||
JOIN doors d ON (d.id = r.door_id)
|
||||
JOIN oauth2_registered_client c ON (c.client_id = d.unit_id)
|
||||
WHERE c.client_id = ? AND q.start_date_time <= CURRENT_TIMESTAMP AND q.end_date_time >= CURRENT_TIMESTAMP
|
||||
WHERE c.client_id = ? AND r.start_time <= CURRENT_TIMESTAMP AND r.end_time >= CURRENT_TIMESTAMP
|
||||
"""
|
||||
|
||||
@Repository
|
||||
@ -24,10 +25,10 @@ class QrRepository(private val template: JdbcTemplate) {
|
||||
stmt
|
||||
}, { rs, _ ->
|
||||
QrCode(
|
||||
rs.getTimestamp("start_date_time").toLocalDateTime().atZone(ZoneId.systemDefault()).toOffsetDateTime(),
|
||||
rs.getTimestamp("end_date_time").toLocalDateTime().atZone(ZoneId.systemDefault()).toOffsetDateTime(),
|
||||
LocalDateTime.of(rs.getDate("date").toLocalDate(), rs.getTime("start_time").toLocalTime()).atZone(ZoneId.systemDefault()).toOffsetDateTime(),
|
||||
LocalDateTime.of(rs.getDate("date").toLocalDate(), rs.getTime("end_time").toLocalTime()).atZone(ZoneId.systemDefault()).toOffsetDateTime(),
|
||||
UUID.fromString(rs.getString("door_id")),
|
||||
UUID.fromString(rs.getString("key_code"))
|
||||
UUID.fromString(rs.getString("qr_code"))
|
||||
)
|
||||
})
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user