Add booking travel cities and member relation
All checks were successful
build-and-deploy / build-deploy (push) Successful in 35s
All checks were successful
build-and-deploy / build-deploy (push) Successful in 35s
This commit is contained in:
@@ -17,6 +17,7 @@ import com.android.trisolarisserver.db.repo.GuestDocumentRepo
|
||||
import com.android.trisolarisserver.db.repo.GuestRepo
|
||||
import com.android.trisolarisserver.db.repo.GuestRatingRepo
|
||||
import com.android.trisolarisserver.models.booking.BookingStatus
|
||||
import com.android.trisolarisserver.models.booking.MemberRelation
|
||||
import com.android.trisolarisserver.models.booking.TransportMode
|
||||
import com.android.trisolarisserver.models.room.RoomStay
|
||||
import com.android.trisolarisserver.models.room.RateSource
|
||||
@@ -82,6 +83,9 @@ class BookingFlow(
|
||||
val now = nowForProperty(property.timezone)
|
||||
val phone = request.guestPhoneE164?.trim()?.takeIf { it.isNotBlank() }
|
||||
val guest = resolveGuestForBooking(propertyId, property, actor, now, phone)
|
||||
val fromCity = request.fromCity?.trim()?.ifBlank { null }
|
||||
val toCity = request.toCity?.trim()?.ifBlank { null }
|
||||
val memberRelation = parseMemberRelation(request.memberRelation)
|
||||
val hasGuestCounts = request.maleCount != null || request.femaleCount != null || request.childCount != null
|
||||
val adultCount = if (hasGuestCounts) {
|
||||
(request.maleCount ?: 0) + (request.femaleCount ?: 0)
|
||||
@@ -114,6 +118,9 @@ class BookingFlow(
|
||||
femaleCount = request.femaleCount,
|
||||
totalGuestCount = totalGuestCount,
|
||||
expectedGuestCount = request.expectedGuestCount,
|
||||
fromCity = fromCity,
|
||||
toCity = toCity,
|
||||
memberRelation = memberRelation,
|
||||
notes = request.notes,
|
||||
createdBy = actor,
|
||||
updatedAt = now
|
||||
@@ -536,6 +543,15 @@ class BookingFlow(
|
||||
}
|
||||
}
|
||||
|
||||
private fun parseMemberRelation(value: String?): MemberRelation? {
|
||||
if (value.isNullOrBlank()) return null
|
||||
return try {
|
||||
MemberRelation.valueOf(value.trim().uppercase())
|
||||
} catch (_: IllegalArgumentException) {
|
||||
throw ResponseStatusException(HttpStatus.BAD_REQUEST, "Unknown member relation")
|
||||
}
|
||||
}
|
||||
|
||||
private fun parseRateSource(value: String?): RateSource? {
|
||||
if (value.isNullOrBlank()) return null
|
||||
return try {
|
||||
|
||||
Reference in New Issue
Block a user