CurationPrincipleResponse
큐레이션 원칙 응답 DTO. 추천 서비스의 큐레이션 설정 정보.
클래스 구조
CurationPrincipleResponse
큐레이션 원칙.
| 필드 | 타입 | 설명 |
|---|---|---|
id | UUID | 원칙 ID |
title | String | 제목 |
description | String? | 설명 |
displayLimit | Int | 표시 제한 수 |
dailyLimit | Int | 일일 제한 수 |
routeType | RouteType | 노선 타입 |
jobCondition | JobCondition | 작업 조건 |
JobCondition
작업 조건.
| 필드 | 타입 | 설명 |
|---|---|---|
startAt | LocalDate | 시작일 |
endAt | LocalDate | 종료일 |
runTimes | List<Int> | 실행 시간 목록 |
type | JobConditionType | 조건 타입 (RANGE, DATE) |
departureDateFrom | LocalDate? | 출발일 시작 |
departureDateTo | LocalDate? | 출발일 종료 |
departureDates | List<LocalDate>? | 특정 출발일 목록 |
dayOfWeeks | List<DayOfWeek>? | 요일 목록 |
origin | String | 출발지 |
destination | String | 도착지 |
airlines | Set<String>? | 항공사 제한 |
period | CurationJobPeriod? | 여행 기간 |
direct | Boolean? | 직항 여부 |
계산 프로퍼티:
val departureDateRange: Pair<LocalDate, LocalDate>?
get() = if (departureDateFrom != null && departureDateTo != null) {
Pair(departureDateFrom, departureDateTo)
} else nullCurationJobPeriod
큐레이션 작업 기간.
| 필드 | 타입 | 설명 |
|---|---|---|
min | Int | 최소 기간 (일) |
max | Int | 최대 기간 (일) |
JobConditionType
작업 조건 타입 Enum.
| 값 | 설명 |
|---|---|
RANGE | 날짜 범위 조건 |
DATE | 특정 날짜 조건 |
사용처
| 사용 위치 | 용도 |
|---|---|
| AirRecommendationClient | 큐레이션 원칙 조회 |
| CurationScrapingService | 큐레이션 배치 조건 |
특징
- 유연한 날짜 조건: RANGE 또는 DATE 타입으로 조건 설정
- 요일 기반 조건: 특정 요일만 검색 가능
- 기간 제한: min/max로 여행 기간 제한
- 항공사 필터: 특정 항공사만 검색 가능