package gc.mda.signal_batch.domain.vessel.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 선박 버킷 종료 위치 DTO
 *
 * 용도: 버킷 간 점프 검출을 위한 이전 버킷 종료 위치 저장
 *
 * 데이터 흐름:
 * 1. 5분 집계 완료 후 각 선박의 버킷 종료 위치 저장
 * 2. 다음 버킷 처리 시 이전 위치와 비교하여 점프 검출
 * 3. 캐시 미스 시 t_ais_position 테이블에서 fallback 조회
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class VesselBucketPositionDto {
    private String mmsi;
    private Double endLon;
    private Double endLat;
    private LocalDateTime endTime;

    public String getVesselKey() {
        return mmsi;
    }
}
