fix: limit dispatch vehicles to 15 and 30 pallets
This commit is contained in:
@@ -23,7 +23,7 @@ public final class DeliveryRequests {
|
||||
@NotBlank @Size(max = 64) String pickupMethod,
|
||||
@NotBlank @Size(max = 64) String loadingType,
|
||||
@Size(max = 64) String vehicleType,
|
||||
@Size(max = 64) String vehicleSize,
|
||||
@jakarta.validation.constraints.Pattern(regexp = "15托|30托") String vehicleSize,
|
||||
@Size(max = 128) String driverName,
|
||||
@Size(max = 64) String driverPhone,
|
||||
@Size(max = 64) String vehiclePlate,
|
||||
|
||||
@@ -39,7 +39,7 @@ public final class DispatchRequests {
|
||||
public DraftPallet(Long planPalletId, String draftToken) { this(planPalletId, draftToken, null); }
|
||||
}
|
||||
|
||||
public record DraftContainer(@NotBlank @Size(max = 64) String draftToken, @NotNull @Min(1) @Max(500) Integer capacity) {}
|
||||
public record DraftContainer(@NotBlank @Size(max = 64) String draftToken, @NotNull Integer capacity) {}
|
||||
|
||||
public record DraftRelease(@NotBlank @Size(max = 64) String draftToken) {
|
||||
}
|
||||
|
||||
@@ -123,6 +123,9 @@ public class DispatchService {
|
||||
|
||||
@Transactional
|
||||
public DispatchContainerResponse createDraftContainer(String operatorId, DispatchRequests.DraftContainer request) {
|
||||
if (!Set.of(15, 30).contains(request.capacity())) {
|
||||
throw new ResponseStatusException(HttpStatus.CONFLICT, "车辆大小仅支持15托或30托");
|
||||
}
|
||||
DispatchDraft draft = ensureDraft(operatorId, request.draftToken());
|
||||
int next = draftContainers.findByToken(request.draftToken()).stream().mapToInt(DispatchDraftContainer::getSequenceNo).max().orElse(0) + 1;
|
||||
DispatchDraftContainer c = new DispatchDraftContainer(); c.setId(IdWorker.getId()); c.setDraftId(draft.getId()); c.setDraftToken(request.draftToken()); c.setSequenceNo(next); c.setCapacity(request.capacity()); c.setCreatedAt(LocalDateTime.now()); c.setUpdatedAt(LocalDateTime.now()); draftContainers.insert(c);
|
||||
|
||||
Reference in New Issue
Block a user