23 lines
832 B
Java
23 lines
832 B
Java
package com.baiyue.common.event;
|
|
|
|
import java.time.Instant;
|
|
|
|
/**
|
|
* 海外仓柜级卸柜完成事实;国内订舱 ID 是稳定聚合与幂等标识,containerNo 用于核对物理柜号。
|
|
* unloadingCompletedAt 是全柜 complete 时刻,不得使用签收拍照上传时刻代替。
|
|
*/
|
|
public record OverseasContainerUnloadedV1(
|
|
String sourceContainerBookingId,
|
|
String containerNo,
|
|
Instant unloadingCompletedAt,
|
|
Instant unloadingPhotoUploadedAt,
|
|
Instant actualEmptyReportedAt
|
|
) {
|
|
public OverseasContainerUnloadedV1 {
|
|
if (sourceContainerBookingId == null || sourceContainerBookingId.isBlank()) {
|
|
throw new IllegalArgumentException("sourceContainerBookingId is required");
|
|
}
|
|
containerNo = ContainerNumbers.requireCanonical(containerNo);
|
|
}
|
|
}
|