diff --git a/src/main/kotlin/com/android/trisolarisserver/controller/IssuedCards.kt b/src/main/kotlin/com/android/trisolarisserver/controller/IssuedCards.kt index 1a3a8e4..0e8dbb6 100644 --- a/src/main/kotlin/com/android/trisolarisserver/controller/IssuedCards.kt +++ b/src/main/kotlin/com/android/trisolarisserver/controller/IssuedCards.kt @@ -249,7 +249,8 @@ class IssuedCards( return if (uuid != null) { issuedCardRepo.findByIdAndPropertyId(uuid, propertyId) } else { - issuedCardRepo.findByCardIdIgnoreCaseAndPropertyId(trimmed, propertyId) + issuedCardRepo.findAllByCardIdIgnoreCaseAndPropertyId(trimmed, propertyId) + .maxByOrNull { it.issuedAt } } } diff --git a/src/main/kotlin/com/android/trisolarisserver/repo/IssuedCardRepo.kt b/src/main/kotlin/com/android/trisolarisserver/repo/IssuedCardRepo.kt index 0f4e625..7fc3c25 100644 --- a/src/main/kotlin/com/android/trisolarisserver/repo/IssuedCardRepo.kt +++ b/src/main/kotlin/com/android/trisolarisserver/repo/IssuedCardRepo.kt @@ -8,6 +8,7 @@ interface IssuedCardRepo : JpaRepository { fun findByRoomStayIdOrderByIssuedAtDesc(roomStayId: UUID): List fun findByIdAndPropertyId(id: UUID, propertyId: UUID): IssuedCard? fun findByCardIdIgnoreCaseAndPropertyId(cardId: String, propertyId: UUID): IssuedCard? + fun findAllByCardIdIgnoreCaseAndPropertyId(cardId: String, propertyId: UUID): List @org.springframework.data.jpa.repository.Query(""" select case when count(c) > 0 then true else false end