From 1102ed57f24c6989b48db5e61e867ff57cc45e82 Mon Sep 17 00:00:00 2001 From: ayaZouity <aya.zouity@marketingconfort.com> Date: Wed, 9 Apr 2025 15:16:54 +0100 Subject: [PATCH] Enhance item filtering by excluding deleted items based on status and source --- CHANGELOG.md | 2 ++ .../mydressin/repositories/CartRepository.java | 3 +-- .../mydressin/services/impl/CartServiceImp.java | 4 ++++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 239d23a..685be22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,8 @@ ### Added - MYD-739/Fix List with sale sessions stats - Add delete item functionality in back office and display sale session ID +- Enhance item filtering by excluding deleted items based on status and source + ### Changed diff --git a/src/main/java/com/marketingconfort/mydressin/repositories/CartRepository.java b/src/main/java/com/marketingconfort/mydressin/repositories/CartRepository.java index 867f4b4..259a5b7 100644 --- a/src/main/java/com/marketingconfort/mydressin/repositories/CartRepository.java +++ b/src/main/java/com/marketingconfort/mydressin/repositories/CartRepository.java @@ -76,9 +76,8 @@ public interface CartRepository extends JpaRepository<Cart, Long>, JpaSpecificat List<Object[]> findActiveClientsCountByDay(LocalDateTime startDate, LocalDateTime endDate, ItemSource source); - @Query("SELECT c FROM Cart c " + - "WHERE EXISTS (SELECT ic1 FROM c.items ic1) " + + "WHERE EXISTS (SELECT ic1 FROM c.items ic1 WHERE ic1.status != 'DELETED_BO' ) " + " AND LOWER(c.status) = 'open' " + " AND ((-1L) in :clientIds OR c.clientId IN :clientIds) " + " AND ((-1L) in :productIds OR EXISTS (SELECT ic2 FROM c.items ic2 WHERE ic2.productId IN :productIds))") diff --git a/src/main/java/com/marketingconfort/mydressin/services/impl/CartServiceImp.java b/src/main/java/com/marketingconfort/mydressin/services/impl/CartServiceImp.java index ecce6f0..7ad0537 100644 --- a/src/main/java/com/marketingconfort/mydressin/services/impl/CartServiceImp.java +++ b/src/main/java/com/marketingconfort/mydressin/services/impl/CartServiceImp.java @@ -1036,11 +1036,15 @@ public class CartServiceImp implements CartService { } }); } + List<ProductDetailsCartDTO> productDetailsCartDTOS = cart.getItems().stream() .map(item -> mapItemToProductDetails(item, productMap)) .filter(Objects::nonNull) + .filter(item -> !item.getStatus().equals(ItemCartStatus.DELETED_BO)) + .filter(item -> !(item.getStatus().equals(ItemCartStatus.DELETED_SITE) && item.getSource().equals(ItemSource.WEB))) .toList(); + cartDTO.setSubTotalPrice(productDetailsCartDTOS.stream() .mapToDouble(ProductDetailsCartDTO::getTotalPrice) .sum()); -- GitLab