package com.qaup.collision.websocket.message;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.Builder;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

/**
 * 碰撞预警消息负载
 * 对应前端JSON格式: collision_warning
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CollisionWarningPayload {
    
    /**
     * 对象1 ID
     */
    @JsonProperty("object1_id")
    private String object1Id;
    
    /**
     * 对象1类型（基于MovingObjectType枚举）
     */
    @JsonProperty("object1_type")
    private String object1Type;
    
    /**
     * 对象2 ID
     */
    @JsonProperty("object2_id")
    private String object2Id;
    
    /**
     * 对象2类型（基于MovingObjectType枚举）
     */
    @JsonProperty("object2_type")
    private String object2Type;
    
    /**
     * 风险等级
     */
    @JsonProperty("risk_level")
    private String riskLevel;
    
    /**
     * 当前距离（米）
     */
    @JsonProperty("distance")
    private Double distance;
    
    /**
     * 预估碰撞时间（秒）
     */
    @JsonProperty("estimated_time")
    private Double estimatedTime;
    
    /**
     * 时间戳（微秒级）
     */
    @JsonProperty("timestamp")
    private Long timestamp;
} 