RecommendationScrapingService

주말 특가항공권 데이터 수집 배치 서비스. Google Sheets에서 노선 조건을 읽어 검색하고 추천 데이터를 생성한다.

의존성

서비스용도
GoogleClientGoogle Sheets 노선 조건 조회
AirportService공항 정보
LocationService위치 정보
FlightSearchService항공편 검색
AirRecommendationService추천 데이터 생성
SlackClient결과 알림

메서드

scraping

fun scraping()

주말 특가항공권 스크래핑 배치를 실행한다.

처리 흐름:

  1. Google Sheets에서 노선 조건 조회 (현재 mock 사용)
  2. 공항 정보 일괄 조회
  3. 각 노선별 검색 실행
  4. 추천 데이터 생성
  5. Slack 결과 알림

주석 처리된 코드: 실제로는 RecommendationRouteCondition.mock() 사용 중.


searchFlights (private)

private fun searchFlights(condition: RecommendationRouteCondition): List<FlightItem>

노선 조건으로 검색을 실행한다. 이코노미, 성인 1명, 캐시 미사용.


toOriginDestinationLocationInfo (private)

private fun RecommendationRouteCondition.toOriginDestinationLocationInfo(): List<OriginDestinationLocationInfo>

노선 조건을 검색 파라미터로 변환한다.

RecommendationRouteCondition

필드설명
origin출발 공항
destination도착 공항
outboundDate출발일
inboundDate귀국일

특징

  • Google Sheets 연동: 노선 조건을 스프레드시트에서 관리 (현재 mock)
  • 주말 특가: 주말 여행 최저가 항공편 수집
  • Slack 알림: 배치 결과를 #항공팀_배치로그 채널에 알림
  • 실패 추적: 검색 실패 노선 목록 기록