diff --git a/src/main/java/com/example/VictoriaPublicHall/service/BookingService.java b/src/main/java/com/example/VictoriaPublicHall/service/BookingService.java index 9f86138..bae7fd8 100644 --- a/src/main/java/com/example/VictoriaPublicHall/service/BookingService.java +++ b/src/main/java/com/example/VictoriaPublicHall/service/BookingService.java @@ -244,22 +244,28 @@ public class BookingService { } public Map getOccupiedSeats(String bookingDate, Long slotId) { - String sql = " SELECT bs.booking_id, r.group_id, bs.seat_no " + + String sql = "SELECT bs.booking_id, r.group_id, bs.seat_no " + "FROM booking_slots bs " + "JOIN registration_details r ON r.id = bs.booking_id " + "WHERE r.booking_date = ? AND r.slot_id = ? AND r.is_delete = 0 " + "LIMIT 1"; - Map row = jdbc.queryForMap( + List> rows = jdbc.queryForList( sql, LocalDate.parse(bookingDate), slotId ); - Long bookingId = ((Number) row.get("booking_id")).longValue(); - Long groupId = ((Number) row.get("group_id")).longValue(); + Long bookingId = null; + Long groupId = null; - String seatSql = " SELECT bs.seat_no " + + if (!rows.isEmpty()) { + Map row = rows.get(0); + bookingId = ((Number) row.get("booking_id")).longValue(); + groupId = ((Number) row.get("group_id")).longValue(); + } + + String seatSql = "SELECT bs.seat_no " + "FROM booking_slots bs " + "JOIN registration_details r ON r.id = bs.booking_id " + "WHERE r.booking_date = ? AND r.slot_id = ? AND r.is_delete = 0 "; @@ -282,11 +288,14 @@ public class BookingService { result.put("occupiedSeats", occupiedSeats); result.put("capacity", slotCapacity); - Map booking = new HashMap<>(); - booking.put("booking_id", bookingId); - booking.put("group_id", groupId); - - result.put("bookings", Collections.singletonList(booking)); + if (bookingId != null && groupId != null) { + Map booking = new HashMap<>(); + booking.put("booking_id", bookingId); + booking.put("group_id", groupId); + result.put("bookings", Collections.singletonList(booking)); + } else { + result.put("bookings", Collections.emptyList()); + } return result; }