diff --git a/backend/src/main/java/edu/zut/bookrider/service/RentalService.java b/backend/src/main/java/edu/zut/bookrider/service/RentalService.java index e4a08a78..865e6fa5 100644 --- a/backend/src/main/java/edu/zut/bookrider/service/RentalService.java +++ b/backend/src/main/java/edu/zut/bookrider/service/RentalService.java @@ -101,16 +101,17 @@ public PageResponseDTO getUserRentals(Pageable pageable) { User user = userService.getUser(); Page rentals = rentalRepository.findAllByUser(user, pageable); - List rentalDTOs = rentals.getContent().stream() - .map(rental -> { - int totalReturned = rentalReturnItemService.sumReturnedQuantityByRentalId(rental.getId()); - int remaining = rental.getQuantity() - totalReturned; - - RentalDTO dto = rentalMapper.map(rental); - dto.setQuantity(remaining); - return dto; - }) - .toList(); + List rentalDTOs = new ArrayList<>(); + for (Rental rental : rentals.getContent()) { + int totalReturned = rentalReturnItemService.sumReturnedQuantityByRentalId(rental.getId()); + int remaining = rental.getQuantity() - totalReturned; + + if (remaining > 0) { + RentalDTO dto = rentalMapper.map(rental); + dto.setQuantity(remaining); + rentalDTOs.add(dto); + } + } return new PageResponseDTO<>( rentalDTOs,