show already started check for ordertx
This commit is contained in:
@@ -6,6 +6,9 @@ import jakarta.inject.Inject;
|
|||||||
import jakarta.ws.rs.POST;
|
import jakarta.ws.rs.POST;
|
||||||
import jakarta.ws.rs.Path;
|
import jakarta.ws.rs.Path;
|
||||||
|
|
||||||
|
import java.time.Instant;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.ZoneId;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@@ -24,6 +27,8 @@ public class OrderTx {
|
|||||||
int showId = orderTransaction.getTickets().stream().findAny().map(Eintrittskarte::getShow).map(Vorstellung::getId).orElse(-1);
|
int showId = orderTransaction.getTickets().stream().findAny().map(Eintrittskarte::getShow).map(Vorstellung::getId).orElse(-1);
|
||||||
if (orderTransaction.getTickets().stream().anyMatch(ticket -> ticket.getShow().getId() != showId)) {
|
if (orderTransaction.getTickets().stream().anyMatch(ticket -> ticket.getShow().getId() != showId)) {
|
||||||
throw new IllegalArgumentException("tickets for different show ids");
|
throw new IllegalArgumentException("tickets for different show ids");
|
||||||
|
} else if (orderTransaction.getTickets().getFirst().getShow().getStart().isBefore(LocalDateTime.ofInstant(Instant.now(), ZoneId.systemDefault()))) {
|
||||||
|
throw new IllegalStateException("show already started");
|
||||||
}
|
}
|
||||||
|
|
||||||
List<String> notCancelledTicketsFilter = List.of("eq;show.id;int;" + showId, "null;order.cancelled;date;1970-01-01T00:00:00");
|
List<String> notCancelledTicketsFilter = List.of("eq;show.id;int;" + showId, "null;order.cancelled;date;1970-01-01T00:00:00");
|
||||||
|
|||||||
Reference in New Issue
Block a user