Files
baiyue-firstleg/lastleg-service/src/main/java/com/baiyue/lastleg/dto/LastlegOrderRequests.java
T

103 lines
3.0 KiB
Java
Raw Normal View History

2026-08-19 16:24:02 +08:00
package com.baiyue.lastleg.dto;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.Size;
2026-08-26 11:05:26 +08:00
import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.NotNull;
2026-08-19 16:24:02 +08:00
2026-08-26 11:05:26 +08:00
import java.math.BigDecimal;
2026-08-19 16:24:02 +08:00
import java.time.LocalDateTime;
import java.util.List;
public final class LastlegOrderRequests {
private LastlegOrderRequests() {
}
public record Query(
2026-08-31 14:39:40 +08:00
@Min(1) Long page,
@Min(1) @Max(200) Long size,
2026-08-19 16:24:02 +08:00
String orderNo,
2026-08-21 14:42:40 +08:00
String orderType,
2026-08-19 16:24:02 +08:00
String inboundCode,
2026-09-06 16:02:11 +08:00
String lxCode,
2026-08-19 16:24:02 +08:00
String sourceOrderNo,
String containerNo,
2026-08-21 14:42:40 +08:00
String currentStatus,
2026-08-19 16:24:02 +08:00
String status,
2026-08-21 14:42:40 +08:00
String warehouse,
2026-08-19 16:24:02 +08:00
String transferWarehouseCode,
Boolean abnormal,
Boolean detained,
LocalDateTime createdFrom,
LocalDateTime createdTo
) {
public Query {
2026-08-31 14:39:40 +08:00
if (page == null || page == 0) page = 1L;
if (size == null || size == 0) size = 20L;
2026-08-19 16:24:02 +08:00
}
}
2026-08-28 13:54:32 +08:00
public record ContainerProgressQuery(
2026-08-27 17:16:33 +08:00
@Min(1) long page,
@Min(1) @Max(200) long size,
String containerNo,
LocalDateTime createdFrom,
LocalDateTime createdTo
) {
2026-08-28 13:54:32 +08:00
public ContainerProgressQuery {
2026-08-27 17:16:33 +08:00
if (page == 0) page = 1;
if (size == 0) size = 20;
}
}
2026-08-19 16:24:02 +08:00
public record TransferDestination(
@NotEmpty @Size(max = 200) List<Long> orderIds,
@NotBlank @Size(max = 128) String warehouseId,
@NotBlank @Size(max = 128) String warehouseCode,
@NotBlank @Size(max = 255) String warehouseName,
@Size(max = 500) String remark
) {
}
public record SingleTransferDestination(
@NotBlank @Size(max = 128) String warehouseId,
@NotBlank @Size(max = 128) String warehouseCode,
@NotBlank @Size(max = 255) String warehouseName,
@Size(max = 500) String remark
) {
public TransferDestination withOrderId(long orderId) {
return new TransferDestination(List.of(orderId), warehouseId, warehouseCode, warehouseName, remark);
}
}
2026-08-26 11:05:26 +08:00
public record CreateFee(
@NotBlank @Size(max = 128) String feeItem,
@NotBlank @Pattern(regexp = "[A-Z]{3}") String currency,
@NotNull @DecimalMin(value = "0.01") BigDecimal amount,
@NotBlank @Pattern(regexp = "PENDING_REVIEW|APPROVED|REJECTED") String status,
@Size(max = 500) String supplierDescription
) {
}
2026-08-28 14:20:48 +08:00
public record SetDetained(
@NotNull Boolean detained,
@NotBlank @Size(max = 500) String remark
) {
}
public record SetPalletMergeRequired(
@NotNull Boolean palletMergeRequired
) {
}
2026-08-31 14:39:40 +08:00
public record SetPalletMergeBatch(
@NotEmpty @Size(max = 200) List<Long> orderIds,
@NotNull Boolean palletMergeRequired
) {
}
2026-08-19 16:24:02 +08:00
}