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

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "최근 위치 업데이트된 선박 정보")
public class RecentVesselPositionDto {
    @Schema(description = "신호원 코드", example = "000001")
    private String sigSrcCd;
    
    @Schema(description = "대상 ID", example = "440331240")
    private String targetId;
    
    @Schema(description = "경도", example = "126.9779")
    private Double lon;
    
    @Schema(description = "위도", example = "37.5665")
    private Double lat;
    
    @Schema(description = "대지속도 (knots)", example = "12.5")
    private BigDecimal sog;
    
    @Schema(description = "대지침로 (도)", example = "180.0")
    private BigDecimal cog;
    
    @Schema(description = "선박명", example = "SEOM SARANG 11")
    private String shipNm;
    
    @Schema(description = "선박 유형", example = "60")
    private String shipTy;
    
    @Schema(description = "선박 종류 코드", example = "000022")
    private String shipKindCode;
    
    @Schema(description = "국가 코드", example = "440")
    private String nationalCode;
    
    @Schema(description = "최종 업데이트 시간", example = "2025-08-28 15:30:00")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime lastUpdate;
}