fix compileation eror

This commit is contained in:
androidlover5842
2026-01-26 14:56:52 +05:30
parent 9835435aab
commit 31398d3822
5 changed files with 30 additions and 26 deletions

View File

@@ -98,28 +98,31 @@ Properties / Orgs
- Org create/get returns emailAliases + allowedTransportModes.
Booking flow
- /bookings/{id}/check-in (creates RoomStay rows)
- /bookings/{id}/check-out (closes RoomStay)
- /bookings/{id}/cancel, /no-show
- /bookings/{id}/room-stays (pre-assign RoomStay with date range)
- /room-stays/{id}/change-room (idempotent via RoomStayChange)
- /properties/{propertyId}/bookings/{bookingId}/check-in (creates RoomStay rows)
- /properties/{propertyId}/bookings/{bookingId}/check-out (closes RoomStay)
- /properties/{propertyId}/bookings/{bookingId}/cancel
- /properties/{propertyId}/bookings/{bookingId}/no-show
- /properties/{propertyId}/bookings/{bookingId}/room-stays (pre-assign RoomStay with date range)
- /properties/{propertyId}/room-stays/{roomStayId}/change-room (idempotent via RoomStayChange)
Card issuing
- /room-stays/{id}/cards/prepare -> returns cardIndex + sector0 payload
- /room-stays/{id}/cards -> store issued card
- /room-stays/{id}/cards (list)
- /room-stays/cards/{id}/revoke (ADMIN only)
- /properties/{propertyId}/room-stays/{roomStayId}/cards/prepare -> returns cardIndex + sector0 payload
- /properties/{propertyId}/room-stays/{roomStayId}/cards -> store issued card
- /properties/{propertyId}/room-stays/{roomStayId}/cards (list)
- /properties/{propertyId}/room-stays/cards/{cardId}/revoke (ADMIN only)
Guest APIs
- /properties/{propertyId}/guests/search?phone=... or ?vehicleNumber=...
- /properties/{propertyId}/guests/{guestId}/vehicles (add vehicle)
Guest documents
- /properties/{propertyId}/guests/{guestId}/documents (upload/list/file)
- /properties/{propertyId}/guests/{guestId}/documents (upload/list)
- /properties/{propertyId}/guests/{guestId}/documents/{documentId}/file
- AI extraction with strict system prompt.
Room images
- /properties/{propertyId}/rooms/{roomId}/images (upload/list/file)
- /properties/{propertyId}/rooms/{roomId}/images (upload/list)
- /properties/{propertyId}/rooms/{roomId}/images/{imageId}/file
- Thumbnails generated (320px).
Transport modes
@@ -130,8 +133,8 @@ Inbound email ingestion
- Saves audit PDF + raw .eml under /home/androidlover5842/docs/emails.
- Property match: To/CC email first; fallback to name/code/address/otaAliases.
- AI extracts booking fields; creates/cancels Booking.
- Booking emailAuditPdfUrl -> /properties/{propertyId}/inbound-emails/{emailId}/file
- Manual upload: POST /properties/{propertyId}/inbound-emails/manual (PDF).
- /properties/{propertyId}/inbound-emails/{emailId}/file (audit PDF)
- POST /properties/{propertyId}/inbound-emails/manual (PDF upload)
Realtime
- SSE room board events with heartbeat, on room create/update, check-in/out, and room change.

View File

@@ -25,13 +25,14 @@ dependencies {
implementation("org.springframework.boot:spring-boot-starter-flyway")
implementation("org.springframework.boot:spring-boot-starter-validation")
implementation("org.springframework.boot:spring-boot-starter-webmvc")
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-websocket")
implementation("org.flywaydb:flyway-database-postgresql")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("tools.jackson.module:jackson-module-kotlin")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.springframework.boot:spring-boot-starter-security")
implementation("com.google.firebase:firebase-admin:9.7.0")
implementation("com.sun.mail:jakarta.mail:2.0.1")
implementation("com.sun.mail:jakarta.mail:2.0.2")
implementation("org.apache.pdfbox:pdfbox:2.0.30")
runtimeOnly("org.postgresql:postgresql")
testImplementation("org.springframework.boot:spring-boot-starter-data-jpa-test")

View File

@@ -1,18 +1,18 @@
package com.android.trisolarisserver.config
import org.springframework.boot.web.client.RestTemplateBuilder
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.http.client.SimpleClientHttpRequestFactory
import org.springframework.web.client.RestTemplate
import java.time.Duration
@Configuration
class HttpConfig {
@Bean
fun restTemplate(builder: RestTemplateBuilder): RestTemplate {
return builder
.setConnectTimeout(Duration.ofSeconds(10))
.setReadTimeout(Duration.ofMinutes(5))
.build()
fun restTemplate(): RestTemplate {
val factory = SimpleClientHttpRequestFactory().apply {
setConnectTimeout(10_000)
setReadTimeout(5 * 60 * 1_000)
}
return RestTemplate(factory)
}
}

View File

@@ -5,7 +5,7 @@ import com.android.trisolarisserver.controller.dto.GuestResponse
import com.android.trisolarisserver.controller.dto.GuestVehicleRequest
import com.android.trisolarisserver.models.booking.Guest
import com.android.trisolarisserver.models.booking.GuestVehicle
import com.android.trisolarisserver.repo.GuestRepo
import com.android.trisolarisserver.db.repo.GuestRepo
import com.android.trisolarisserver.repo.GuestVehicleRepo
import com.android.trisolarisserver.repo.PropertyRepo
import com.android.trisolarisserver.security.MyPrincipal
@@ -85,7 +85,7 @@ class Guests(
vehicleNumber = request.vehicleNumber.trim()
)
guestVehicleRepo.save(vehicle)
return listOf(guest).toResponse(guestVehicleRepo).first()
return setOf(guest).toResponse(guestVehicleRepo).first()
}
private fun requirePrincipal(principal: MyPrincipal?) {

View File

@@ -20,7 +20,7 @@ class Organization {
joinColumns = [JoinColumn(name = "org_id")]
)
@Column(name = "email", nullable = false)
var emailAliases: MutableSet<String> = mutableSetOf(),
var emailAliases: MutableSet<String> = mutableSetOf()
@ElementCollection(fetch = FetchType.EAGER)
@CollectionTable(
@@ -30,7 +30,7 @@ class Organization {
@Column(name = "mode", nullable = false)
@Enumerated(EnumType.STRING)
var allowedTransportModes: MutableSet<com.android.trisolarisserver.models.booking.TransportMode> =
mutableSetOf(),
mutableSetOf()
@Column(name = "created_at", nullable = false, columnDefinition = "timestamptz")
val createdAt: OffsetDateTime = OffsetDateTime.now()