feat: complete tail order controls and terminal drayage

This commit is contained in:
2026-09-07 23:58:18 +08:00
parent f018ca85a9
commit e32fe65fa8
53 changed files with 2566 additions and 87 deletions
@@ -0,0 +1,27 @@
package com.baiyue.lastleg.dto;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import jakarta.validation.constraints.Min;
import java.time.LocalDateTime;
import java.util.List;
public final class LastlegOrderCommandDtos {
private LastlegOrderCommandDtos() { }
public record HoldRequest(@NotNull Boolean held, @NotNull Boolean chargeable,
@NotBlank @Size(max = 500) String reason,
@NotNull @Min(0) Integer expectedVersion) { }
public record HoldResponse(long orderId, boolean held, boolean chargeable, String reason, int version) { }
public record ManualNode(@NotBlank @Size(max = 32) String nodeCode,
LocalDateTime nodeAt) { }
public record ManualNodesRequest(@NotNull @Min(0) Integer expectedVersion,
@NotEmpty @Size(min = 8, max = 8) List<@Valid ManualNode> nodes) { }
public record ManualNodesResponse(long orderId, boolean manualOverrideEnabled,
List<ManualNodeView> nodes, int version) { }
public record ManualNodeView(String nodeCode, LocalDateTime nodeAt, String source) { }
}
@@ -9,6 +9,7 @@ import java.util.List;
public record LastlegOrderDetailResponse(
LastlegOrderSummary order,
List<LastlegOrderCommandDtos.ManualNodeView> manualNodes,
List<LastlegOrderDetail> cargo,
List<History> statusHistory,
List<LastlegOrderFee> fees,
@@ -32,6 +32,11 @@ public record LastlegOrderSummary(
String containerStatus,
Boolean abnormal,
Boolean detained,
Boolean heldChargeable,
String holdReason,
boolean manualOverrideEnabled,
String nodeSource,
int version,
Integer palletCount,
Integer packageCount,
BigDecimal volumeCbm,