CollisionAvoidanceSystem/src/main/java/com/dongni/collisionavoidance/common/model/Aircraft.java

43 lines
1.0 KiB
Java

package com.dongni.collisionavoidance.common.model;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 航空器实体类
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Aircraft extends MovingObject{
/**
* 航班号
*/
@NotBlank(message = "航班号不能为空")
private String flightNo;
/**
* 航迹号
*/
private Long trackNumber;
@JsonCreator
public Aircraft(
@JsonProperty("latitude") double latitude,
@JsonProperty("longitude") double longitude,
@JsonProperty("altitude") double altitude,
@JsonProperty("time") long timestamp
) {
this.currentPosition = new GeoPosition(latitude, longitude, altitude);
this.timestamp = timestamp;
}
}