Include vehicle numbers in booking detail
All checks were successful
build-and-deploy / build-deploy (push) Successful in 33s
All checks were successful
build-and-deploy / build-deploy (push) Successful in 33s
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -85,6 +85,7 @@ data class BookingDetailResponse(
|
||||
val guestNationality: String?,
|
||||
val guestAddressText: String?,
|
||||
val guestSignatureUrl: String?,
|
||||
val vehicleNumbers: List<String>,
|
||||
val roomNumbers: List<Int>,
|
||||
val source: String?,
|
||||
val fromCity: String?,
|
||||
|
||||
Reference in New Issue
Block a user