package com.baiyue.warehouse.dto; import jakarta.validation.constraints.DecimalMin; import jakarta.validation.constraints.Max; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; import java.math.BigDecimal; public final class LocationRequests { private LocationRequests() { } public record SaveRequest( @NotBlank @Size(max = 50) String zoneCode, @NotBlank @Size(max = 64) String locationCode, @NotBlank @Size(max = 32) String locationType, @NotNull @DecimalMin(value = "0.000", inclusive = false) BigDecimal maxLoadKg, @NotBlank String status, @Size(max = 500) String remark ) { } public record QueryRequest( @Min(1) long page, @Min(1) @Max(200) long size, String zoneCode, String locationType, String status, String keyword ) { public QueryRequest { if (page == 0) page = 1; if (size == 0) size = 20; } } }