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.jdbc.core.JdbcTemplate
|
||||||
import org.springframework.stereotype.Repository
|
import org.springframework.stereotype.Repository
|
||||||
import ru.vyatsu.models.QrCode
|
import ru.vyatsu.models.QrCode
|
||||||
|
import java.time.LocalDateTime
|
||||||
import java.time.ZoneId
|
import java.time.ZoneId
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
private const val GET_ACTUAL_QRS_BY_UNIT_ID = """
|
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
|
SELECT r.start_time, r.end_time, r.date, r.door_id, r.qr_code FROM rents r
|
||||||
JOIN doors d ON (d.id = q.door_id)
|
JOIN doors d ON (d.id = r.door_id)
|
||||||
JOIN oauth2_registered_client c ON (c.client_id = d.unit_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
|
@Repository
|
||||||
@ -24,10 +25,10 @@ class QrRepository(private val template: JdbcTemplate) {
|
|||||||
stmt
|
stmt
|
||||||
}, { rs, _ ->
|
}, { rs, _ ->
|
||||||
QrCode(
|
QrCode(
|
||||||
rs.getTimestamp("start_date_time").toLocalDateTime().atZone(ZoneId.systemDefault()).toOffsetDateTime(),
|
LocalDateTime.of(rs.getDate("date").toLocalDate(), rs.getTime("start_time").toLocalTime()).atZone(ZoneId.systemDefault()).toOffsetDateTime(),
|
||||||
rs.getTimestamp("end_date_time").toLocalDateTime().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("door_id")),
|
||||||
UUID.fromString(rs.getString("key_code"))
|
UUID.fromString(rs.getString("qr_code"))
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user