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格式: vehicle_command
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class VehicleCommandPayload {
    
    /**
     * 车辆ID（数字主键）
     */
    @JsonProperty("vehicleId")
    private Long vehicleId;
    
    /**
     * 车牌号（业务标识符）
     */
    @JsonProperty("licensePlate")
    private String licensePlate;
    
    /**
     * 车辆类型（基于MovingObjectType枚举）
     */
    @JsonProperty("vehicleType")
    private String vehicleType;
    
    /**
     * 指令类型（基于CommandType枚举）
     */
    @JsonProperty("commandType")
    private String commandType;
    
    /**
     * 指令原因（基于CommandReason枚举）
     */
    @JsonProperty("reason")
    private String reason;
    
    /**
     * 指令描述
     */
    @JsonProperty("description")
    private String description;
    
    /**
     * 时间戳（微秒级）
     */
    @JsonProperty("timestamp")
    private Long timestamp;
} 