Aktywne Wpisy
Tja88 +12
Wczoraj stwierdziłem, że żyjemy w świecie brudasów. Mam miejsce w parkingu podziemnym bloku, który dawniej co jakiś czas był czyszczony maszynowo. Od jakiegoś czasu nie jest i po zimie miejsca parkingowe są brudne, zapiaszczone. W samochodzie mam welury, więc postanowiłem, że ogarnę sobie swoje miejsce we własnym zakresie. Z pracy pożyczyłem bardzo fajną, gęstą i miękką miotłę, którą najpierw pozamiatałem piach i pył. Następnie przejechałem całość odkurzaczem, a na koniec zmyłem miejsce
public List<SeatWithStatusDto> handle(GetSeatsByScreeningId query) {
log.info("Query:{}", query);
var hallId = jdbcTemplate.queryForObject(
"select s.hall_id from screenings s where s.id = ?",
Long.class,
query.screeningId()
);
var ticketsSeatsId = getTicketsSeatIdsByScreeningHandler.handle(
new GetTicketsSeatIdsByScreeningId(query.screeningId())
);
return getSeatsByHallIdHandler
.handle(new GetSeatsByHallId(hallId))
.stream()
.map(seatDto -> new SeatWithStatusDto(
seatDto.rowNumber(),
seatDto.number(),
!ticketsSeatsId.contains(seatDto.seatId())
)
).toList();
}
Jak zrobić to lepiej? Może wprowadzić 2 różne modele dla miejsc - HallSeat (przechowywanie informacji jakie w ogóle mamy miejsca w danej sali) i ScreeningSeat (z informacją czy miejsce jest wolne czy nie)
#programowanie #naukaprogramowania #programista15k #java
Wyciąganie danych, które potrzebujesz powinna realizować ta procedura. Spróbowałbył zrobić zbiór numerów miejsc zajętych i zrobić except ze zbiorem range(1..[liczba miejsc])
@TwojHimars: który mamy rok?