AirRecommendationRequest

항공 추천 데이터 생성 요청 DTO. 추천 서비스에 항공편 데이터를 저장할 때 사용.

클래스 구조

AirRecommendationCreateRequest

추천 데이터 생성 요청.

필드타입설명
policyAirRecommendationPolicy추천 정책
funnelAirRecommendationFunnel추천 퍼널
recommendationsList<AirRecommendationItemCreateRequest>추천 항목 목록

팩토리 메서드:

fun of(
    flightItems: List<FlightItem>,
    airportMap: Map<String, Airport>,
    funnel: AirRecommendationFunnel,
    policy: AirRecommendationPolicy,
    salesChannel: Channel,
    salesFunnel: Funnel
): AirRecommendationCreateRequest

AirRecommendationItemCreateRequest

추천 항목 생성 요청.

필드타입설명
originString출발 공항
originCityString출발 도시
originCountryString출발 국가
destinationString도착 공항
destinationCityString도착 도시
destinationCountryString도착 국가
outboundDateLocalDate출발일
inboundDateLocalDate귀국일
routeTypeRouteType노선 타입 (기본: INTERNATIONAL)
airPriceLong항공료
taxLong세금
discountLong할인액
cardPromotionDiscountLong카드 프로모션 할인
sellerPromotionDiscountLong판매자 프로모션 할인
ticketingFeeLong발권 수수료
airlineString발권 항공사
maxStopInt최대 경유 수
durationLong여행 기간 (일)
cabinCabinType좌석 등급
availInt잔여 좌석
schedulesList<ScheduleCreateRequest>스케줄 목록
tagsList<String>?태그 목록
salesChannelChannel판매 채널
salesFunnelFunnel판매 퍼널

팩토리 메서드:

fun of(
    flightItem: FlightItem,
    airportMap: Map<String, Airport>,
    salesChannel: Channel,
    salesFunnel: Funnel
): AirRecommendationItemCreateRequest

ScheduleCreateRequest

스케줄 생성 요청.

필드타입설명
departureString출발 공항
arrivalString도착 공항
departureAtLocalDateTime출발 시각
arrivalAtLocalDateTime도착 시각
bookingClassString부킹 클래스
flightNumberString편명

사용처

사용 위치용도
AirRecommendationClient추천 데이터 생성 API 호출
CurationScrapingService큐레이션 데이터 저장
RecommendationScrapingService주말특가 데이터 저장

특징

  • 도메인 변환: FlightItem에서 요청 DTO로 변환
  • 가격 분리: 항공료, 세금, 각종 할인 분리
  • 지역 정보 포함: 공항, 도시, 국가 정보 모두 포함
  • 여행 기간 계산: ChronoUnit.DAYS로 기간 자동 계산