refactor: Add DLA message parsing logic to BodyParser
This commit is contained in:
+8
-17
@@ -56,14 +56,14 @@ Description: Optional field for any additional relevant information.
|
||||
|
||||
// DLA 电报体中的延误报文结构
|
||||
type DLA struct {
|
||||
Category string `json:"category"` // 电报类别
|
||||
AircraftID string `json:"aircraft_id"` // 航空器识别标志
|
||||
SSRModeAndCode string `json:"ssr_mode_and_code"` // SSR 模式及编码
|
||||
DepartureAirport string `json:"departure_airport"` // 起飞机场
|
||||
NewDepartureTime string `json:"new_departure_time"` // 新的起飞时间
|
||||
ArrivalAirport string `json:"arrival_airport"` // 到达机场
|
||||
EstimatedElapsedTime string `json:"estimated_elapsed_time"` // 估计总耗时
|
||||
OtherInfo string `json:"other_info,omitempty"` // 其他信息 (optional)
|
||||
Category string `json:"category"` // 电报类别
|
||||
AircraftID string `json:"aircraft_id"` // 航空器识别标志
|
||||
SSRModeAndCode string `json:"ssr_mode_and_code,omitempty"` // SSR 模式及编码
|
||||
DepartureAirport string `json:"departure_airport"` // 起飞机场
|
||||
NewDepartureTime string `json:"new_departure_time,omitempty"` // 新的起飞时间
|
||||
ArrivalAirport string `json:"arrival_airport"` // 到达机场
|
||||
ArrivalTime string `json:"estimated_elapsed_time,omitempty"` // 估计总耗时
|
||||
OtherInfo string `json:"other_info,omitempty"` // 其他信息 (optional)
|
||||
}
|
||||
|
||||
// Validate validates the DLA struct fields
|
||||
@@ -74,20 +74,11 @@ func (d *DLA) Validate() error {
|
||||
if d.AircraftID == "" {
|
||||
return fmt.Errorf("aircraft id is required")
|
||||
}
|
||||
if d.SSRModeAndCode == "" {
|
||||
return fmt.Errorf("ssr mode and code is required")
|
||||
}
|
||||
if d.DepartureAirport == "" {
|
||||
return fmt.Errorf("departure airport is required")
|
||||
}
|
||||
if d.NewDepartureTime == "" {
|
||||
return fmt.Errorf("new departure time is required")
|
||||
}
|
||||
if d.ArrivalAirport == "" {
|
||||
return fmt.Errorf("arrival airport is required")
|
||||
}
|
||||
if d.EstimatedElapsedTime == "" {
|
||||
return fmt.Errorf("estimated elapsed time is required")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
+13
-13
@@ -13,14 +13,14 @@ var _ = Describe("DLA", func() {
|
||||
|
||||
BeforeEach(func() {
|
||||
original = DLA{
|
||||
Category: "DLA",
|
||||
AircraftID: "ABCD1234",
|
||||
SSRModeAndCode: "A1234",
|
||||
DepartureAirport: "JFK",
|
||||
NewDepartureTime: time.Now().Add(1 * time.Hour).Format("150405"), // HHMMSS format
|
||||
ArrivalAirport: "LAX",
|
||||
EstimatedElapsedTime: "0500", // Example format
|
||||
OtherInfo: "Test flight delay",
|
||||
Category: "DLA",
|
||||
AircraftID: "ABCD1234",
|
||||
SSRModeAndCode: "A1234",
|
||||
DepartureAirport: "JFK",
|
||||
NewDepartureTime: time.Now().Add(1 * time.Hour).Format("150405"), // HHMMSS format
|
||||
ArrivalAirport: "LAX",
|
||||
ArrivalTime: "0500", // Example format
|
||||
OtherInfo: "Test flight delay",
|
||||
}
|
||||
})
|
||||
|
||||
@@ -47,11 +47,11 @@ var _ = Describe("DLA", func() {
|
||||
invalidDLA := DLA{
|
||||
Category: "DLA",
|
||||
// AircraftID is missing
|
||||
SSRModeAndCode: "A1234",
|
||||
DepartureAirport: "JFK",
|
||||
NewDepartureTime: "150405",
|
||||
ArrivalAirport: "LAX",
|
||||
EstimatedElapsedTime: "0500",
|
||||
SSRModeAndCode: "A1234",
|
||||
DepartureAirport: "JFK",
|
||||
NewDepartureTime: "150405",
|
||||
ArrivalAirport: "LAX",
|
||||
ArrivalTime: "0500",
|
||||
}
|
||||
|
||||
err := invalidDLA.Validate()
|
||||
|
||||
Reference in New Issue
Block a user