From 09331cfae50079bb9d32f99ad61dc9136def9a1a Mon Sep 17 00:00:00 2001 From: PiCiU1221 <96005164+PiCiU1221@users.noreply.github.com> Date: Tue, 3 Jun 2025 22:15:27 +0200 Subject: [PATCH 1/2] Remove return in progress rental status usage in query --- backend/sql/sample_data.sql | 4 ---- .../java/edu/zut/bookrider/repository/RentalRepository.java | 1 - 2 files changed, 5 deletions(-) diff --git a/backend/sql/sample_data.sql b/backend/sql/sample_data.sql index cf504392..32732229 100644 --- a/backend/sql/sample_data.sql +++ b/backend/sql/sample_data.sql @@ -327,10 +327,6 @@ UPDATE orders SET payment_status = 'COMPLETED' WHERE id = 2; -UPDATE rentals -SET status = 'RETURN_IN_PROGRESS' -WHERE id = 1; - -- Rental table for tracking rentals (because they can be partial) INSERT INTO rental_returns (return_order_id, returned_at, status) VALUES diff --git a/backend/src/main/java/edu/zut/bookrider/repository/RentalRepository.java b/backend/src/main/java/edu/zut/bookrider/repository/RentalRepository.java index cffa6b2e..55374ae1 100644 --- a/backend/src/main/java/edu/zut/bookrider/repository/RentalRepository.java +++ b/backend/src/main/java/edu/zut/bookrider/repository/RentalRepository.java @@ -18,7 +18,6 @@ public interface RentalRepository extends JpaRepository { SELECT r FROM Rental r WHERE r.user = :user AND r.status != 'RETURNED' - AND r.status != 'RETURN_IN_PROGRESS' ORDER BY CASE r.status WHEN 'RENTED' THEN 1 From 427679d9cb0b396a6d977492ecc9644fae83ff02 Mon Sep 17 00:00:00 2001 From: PiCiU1221 <96005164+PiCiU1221@users.noreply.github.com> Date: Tue, 3 Jun 2025 22:35:30 +0200 Subject: [PATCH 2/2] Fix remaining quantity to always work --- .../edu/zut/bookrider/service/RentalService.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) 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 17121bd3..e4a08a78 100644 --- a/backend/src/main/java/edu/zut/bookrider/service/RentalService.java +++ b/backend/src/main/java/edu/zut/bookrider/service/RentalService.java @@ -103,13 +103,12 @@ public PageResponseDTO getUserRentals(Pageable pageable) { List rentalDTOs = rentals.getContent().stream() .map(rental -> { - int remainingQuantity = rental.getQuantity(); - if (rental.getStatus() == RentalStatus.PARTIALLY_RETURNED) { - int returned = rentalReturnItemService.sumReturnedQuantityByRentalId(rental.getId()); - remainingQuantity -= returned; - } - rental.setQuantity(remainingQuantity); - return rentalMapper.map(rental); + int totalReturned = rentalReturnItemService.sumReturnedQuantityByRentalId(rental.getId()); + int remaining = rental.getQuantity() - totalReturned; + + RentalDTO dto = rentalMapper.map(rental); + dto.setQuantity(remaining); + return dto; }) .toList();