Include vehicle numbers in booking detail
All checks were successful
build-and-deploy / build-deploy (push) Successful in 33s

This commit is contained in:
androidlover5842
2026-01-31 14:07:00 +05:30
parent d44ae36473
commit d692deb402
2 changed files with 13 additions and 1 deletions

View File

@@ -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,

View File

@@ -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?,