diff --git a/src/main/kotlin/com/android/trisolarisserver/controller/BookingSnapshotBuilder.kt b/src/main/kotlin/com/android/trisolarisserver/controller/BookingSnapshotBuilder.kt index 647d815..6e209d3 100644 --- a/src/main/kotlin/com/android/trisolarisserver/controller/BookingSnapshotBuilder.kt +++ b/src/main/kotlin/com/android/trisolarisserver/controller/BookingSnapshotBuilder.kt @@ -2,6 +2,7 @@ package com.android.trisolarisserver.controller import com.android.trisolarisserver.controller.dto.BookingDetailResponse import com.android.trisolarisserver.db.repo.BookingRepo +import com.android.trisolarisserver.repo.GuestVehicleRepo import com.android.trisolarisserver.repo.PaymentRepo import com.android.trisolarisserver.repo.RoomStayRepo import org.springframework.http.HttpStatus @@ -13,7 +14,8 @@ import java.util.UUID class BookingSnapshotBuilder( private val bookingRepo: BookingRepo, private val roomStayRepo: RoomStayRepo, - private val paymentRepo: PaymentRepo + private val paymentRepo: PaymentRepo, + private val guestVehicleRepo: GuestVehicleRepo ) { fun build(propertyId: UUID, bookingId: UUID): BookingDetailResponse { val booking = bookingRepo.findById(bookingId).orElseThrow { @@ -31,6 +33,14 @@ class BookingSnapshotBuilder( .sorted() val guest = booking.primaryGuest + val vehicleNumbers = if (guest?.id != null) { + guestVehicleRepo.findByGuestIdIn(listOf(guest.id!!)) + .map { it.vehicleNumber } + .distinct() + .sorted() + } else { + emptyList() + } val signatureUrl = guest?.signaturePath?.let { "/properties/$propertyId/guests/${guest.id}/signature/file" } @@ -50,6 +60,7 @@ class BookingSnapshotBuilder( guestNationality = guest?.nationality, guestAddressText = guest?.addressText, guestSignatureUrl = signatureUrl, + vehicleNumbers = vehicleNumbers, roomNumbers = roomNumbers, source = booking.source, fromCity = booking.fromCity, diff --git a/src/main/kotlin/com/android/trisolarisserver/controller/dto/BookingDtos.kt b/src/main/kotlin/com/android/trisolarisserver/controller/dto/BookingDtos.kt index eb37d48..385c462 100644 --- a/src/main/kotlin/com/android/trisolarisserver/controller/dto/BookingDtos.kt +++ b/src/main/kotlin/com/android/trisolarisserver/controller/dto/BookingDtos.kt @@ -85,6 +85,7 @@ data class BookingDetailResponse( val guestNationality: String?, val guestAddressText: String?, val guestSignatureUrl: String?, + val vehicleNumbers: List, val roomNumbers: List, val source: String?, val fromCity: String?,