30 lines
1.5 KiB
Java
30 lines
1.5 KiB
Java
package com.baiyue.integration.dto;
|
|
|
|
import jakarta.validation.constraints.NotBlank;
|
|
import jakarta.validation.constraints.Size;
|
|
|
|
import java.time.LocalDateTime;
|
|
import java.util.List;
|
|
|
|
public final class CarrierScheduleDtos {
|
|
private CarrierScheduleDtos() { }
|
|
|
|
public record QueryRequest(@NotBlank @Size(max = 16) String carrierCode,
|
|
@NotBlank @Size(max = 32) String trackingType,
|
|
@NotBlank @Size(max = 128) String trackingNo) { }
|
|
|
|
public record QueryResult(String providerCode, String outcome, List<Observation> observations,
|
|
List<ExceptionObservation> exceptions,
|
|
String errorCode, String errorMessage, LocalDateTime providerObservedAt) { }
|
|
|
|
public record Observation(String providerEventId, String providerNodeCode, String standardNode,
|
|
LocalDateTime observedAt, LocalDateTime estimatedAt, LocalDateTime actualAt,
|
|
String locationCode, String locationName, String sourceReference,
|
|
String rawPayloadHash) { }
|
|
|
|
public record ExceptionObservation(String providerEventId, String providerStatus,
|
|
String exceptionCode, boolean active, LocalDateTime observedAt,
|
|
String locationCode, String locationName, String sourceReference,
|
|
String rawPayloadHash) { }
|
|
}
|