76 lines
1.4 KiB
Java
76 lines
1.4 KiB
Java
package com.dongni.collisionavoidance.webSocket.message;
|
||
|
||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||
import lombok.Data;
|
||
import lombok.Builder;
|
||
import lombok.NoArgsConstructor;
|
||
import lombok.AllArgsConstructor;
|
||
|
||
/**
|
||
* 位置更新消息负载
|
||
* 对应前端JSON格式: position_update
|
||
*/
|
||
@Data
|
||
@Builder
|
||
@NoArgsConstructor
|
||
@AllArgsConstructor
|
||
public class PositionUpdatePayload {
|
||
|
||
/**
|
||
* 对象ID(车辆ID、航班号等)
|
||
*/
|
||
@JsonProperty("object_id")
|
||
private String objectId;
|
||
|
||
/**
|
||
* 对象类型(基于MovingObjectType枚举)
|
||
*/
|
||
@JsonProperty("object_type")
|
||
private String objectType;
|
||
|
||
/**
|
||
* 位置信息
|
||
*/
|
||
@JsonProperty("position")
|
||
private Position position;
|
||
|
||
/**
|
||
* 航向角(度)
|
||
*/
|
||
@JsonProperty("heading")
|
||
private Double heading;
|
||
|
||
/**
|
||
* 速度(米/秒)
|
||
*/
|
||
@JsonProperty("speed")
|
||
private Double speed;
|
||
|
||
/**
|
||
* 时间戳(微秒级)
|
||
*/
|
||
@JsonProperty("timestamp")
|
||
private Long timestamp;
|
||
|
||
/**
|
||
* 位置坐标类
|
||
*/
|
||
@Data
|
||
@Builder
|
||
@NoArgsConstructor
|
||
@AllArgsConstructor
|
||
public static class Position {
|
||
|
||
/**
|
||
* 纬度
|
||
*/
|
||
@JsonProperty("latitude")
|
||
private Double latitude;
|
||
|
||
/**
|
||
* 经度
|
||
*/
|
||
@JsonProperty("longitude")
|
||
private Double longitude;
|
||
}
|
||
} |