FlightMetaSearchAdminController
메타검색(네이버, 카카오 등) 서비스용 항공편 검색 API 컨트롤러. 동기식으로 검색 결과를 즉시 반환한다.
필수 헤더
X-Triple-Sales-Channel: 판매 채널X-Triple-Sales-Funnel: 판매 퍼널 (메타검색 퍼널 결정에 사용)
의존성
| 서비스 | 용도 |
|---|---|
| StandardFlightSearchUseCase | 표준 검색 |
| CombineFlightSearchUseCase | 조합 검색 (멀티티켓) |
| LocationService | 위치 정보 조회 |
메서드
searchOneWayTrip
fun searchOneWayTrip(
originType: LocationType, origin: String,
destinationType: LocationType, destination: String,
outboundDate: LocalDate,
cabins: Set<CabinType>,
adult: Int, child: Int = 0, infant: Int = 0,
freeBaggageOnly: Boolean = false,
useCache: Boolean = false
): List<FlightItemAdminView>메타검색용 편도 검색.
| Caller | Callee |
|---|---|
HTTP GET /internals/admin/flights/meta/search/{...}/{outboundDate} | FlightMetaSearchAdminController.searchFlights |
searchRoundTrip
fun searchRoundTrip(
...,
useMultiTicket: Boolean? = false
): List<FlightItemAdminView>메타검색용 왕복 검색. useMultiTicket=true 시 조합 검색을 수행한다.
| Caller | Callee |
|---|---|
HTTP GET /internals/admin/flights/meta/search/{...}/{outboundDate}/{inboundDate} | useMultiTicket=true: FlightMetaSearchAdminController.searchRoundFlights |
| useMultiTicket=false: FlightMetaSearchAdminController.searchFlights |
searchMultiCityTrip (2~4구간)
메타검색용 다구간 검색. 2~4구간까지 지원한다.
searchFlights (private)
private fun searchFlights(
adult: Int, child: Int, infant: Int,
freeBaggageOnly: Boolean,
cabins: Set<CabinType>,
useCache: Boolean,
vararg originDestinationLocationInfo: OriginDestinationLocationInfo
): List<FlightItemAdminView>표준 검색 로직. 퍼널에 따라 FareDecisionStrategy와 FlightGroupCriteria가 결정된다.
| Caller | Callee |
|---|---|
| 검색 메서드들 | SearchInfo 생성 |
| MDCHolder.SalesFunnel.get | |
| FareDecisionStrategy.getByMetaFunnel | |
| FlightGroupCriteria.getByMetaFunnel | |
| StandardFlightSearchUseCase.searchFlights | |
| FlightItemAdminView.of |
searchRoundFlights (private)
private fun searchRoundFlights(
adult: Int, child: Int, infant: Int,
freeBaggageOnly: Boolean,
cabins: Set<CabinType>,
useCache: Boolean,
vararg originDestinationLocationInfo: OriginDestinationLocationInfo
): List<FlightItemAdminView>멀티티켓(조합) 검색 로직.
| Caller | Callee |
|---|---|
| FlightMetaSearchAdminController.searchRoundTrip | CombineFlightSearchUseCase.searchFlights |
| FlightItemAdminView.of |
특징
- 동기식 응답: 폴링 없이 즉시 결과 반환
- 퍼널 기반 전략: SalesFunnel에 따라 운임 결정 전략과 그룹핑 기준이 달라짐
- 대표 카드 프로모션만: onlyRepresentativeCardPromotion = true
- 추천 미사용: useRecommendation = false