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格式: intersection_traffic_light_status
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TrafficLightStatusPayload {
    
    /**
     * 路口ID
     */
    @JsonProperty("intersection_id")
    private String intersectionId;
    
    /**
     * 路口位置
     */
    @JsonProperty("position")
    private Position position;
    
    /**
     * 南北方向信号状态（基于SignalState枚举）
     */
    @JsonProperty("ns_status")
    private String nsStatus;
    
    /**
     * 东西方向信号状态（基于SignalState枚举）
     */
    @JsonProperty("ew_status")
    private String ewStatus;
    
    /**
     * 时间戳（微秒级）
     */
    @JsonProperty("timestamp")
    private Long timestamp;
    
    /**
     * 位置坐标类
     */
    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class Position {
        
        /**
         * 纬度
         */
        @JsonProperty("latitude")
        private Double latitude;
        
        /**
         * 经度
         */
        @JsonProperty("longitude")
        private Double longitude;
    }
} 