diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f5bee398895c4dd60d0c8d45d0ad461b54047f3..45c4b4426b3d9b836205d4dbe6f617a07dd8802f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ ## [1.0.73-RELEASE] ### Added - MYD-739/Fix List with sale sessions stats +- Add delete item functionality in back office and display sale session ID + ### Changed - Changes in existing functionality. diff --git a/pom.xml b/pom.xml index 479dafb26ee5ff45ad71ea51837f6a5c063a8c1a..5f723b4e9ec24748ff4106c90bc8669da34a1045 100644 --- a/pom.xml +++ b/pom.xml @@ -18,7 +18,7 @@ <dependency> <groupId>com.marketingconfort</groupId> <artifactId>mydressin-common</artifactId> - <version>1.0.206-RELEASE</version> + <version>1.0.212-RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> diff --git a/src/main/java/com/marketingconfort/mydressin/dtos/ProductDetailsCartDTO.java b/src/main/java/com/marketingconfort/mydressin/dtos/ProductDetailsCartDTO.java index 9c05b5c46acc01960d813dc3728c3860cd1e2396..429bb82c6c56f0d20b7e5e36e30c960cc07b1a85 100644 --- a/src/main/java/com/marketingconfort/mydressin/dtos/ProductDetailsCartDTO.java +++ b/src/main/java/com/marketingconfort/mydressin/dtos/ProductDetailsCartDTO.java @@ -1,6 +1,7 @@ package com.marketingconfort.mydressin.dtos; import com.marketingconfort.mydressin.common.cart.dtos.ProductCartDTO; +import com.marketingconfort.mydressin.common.cart.enumurations.ItemCartStatus; import com.marketingconfort.mydressin.common.cart.enumurations.ItemSource; import lombok.*; @@ -16,4 +17,6 @@ public class ProductDetailsCartDTO { private long quantity; private double totalPrice; private ItemSource source; + private ItemCartStatus status; + private Long sessionOrderId; } diff --git a/src/main/java/com/marketingconfort/mydressin/mappers/CartMapper.java b/src/main/java/com/marketingconfort/mydressin/mappers/CartMapper.java index 45412e4fc2cdb1ad18bf3aaf7378b286ba763d49..95855caeef1ee1afcfb13a852e9e5abebc3bfa59 100644 --- a/src/main/java/com/marketingconfort/mydressin/mappers/CartMapper.java +++ b/src/main/java/com/marketingconfort/mydressin/mappers/CartMapper.java @@ -60,14 +60,9 @@ public class CartMapper { public ClientCartDTO cartToClientCartDTO(Cart cart) { - List<ItemCart> itemCarts = cart.getItems() - .stream() - .filter(itemCart -> itemCart.getStatus()!=ItemCartStatus.DELETED_SITE && itemCart.getStatus()!=ItemCartStatus.DELETED_BO ) - .toList(); - ClientCartDTO clientCartDTO = new ClientCartDTO(); clientCartDTO.setId(cart.getId()); - clientCartDTO.setItemsCount(itemCarts.size()); + clientCartDTO.setItemsCount(cart.getItems().size()); return clientCartDTO; } diff --git a/src/main/java/com/marketingconfort/mydressin/repositories/CartRepository.java b/src/main/java/com/marketingconfort/mydressin/repositories/CartRepository.java index a73c5d9eb30358314f94c4a8665a0ca5160cec8d..867f4b400d00aa2b1f765ec8004259e69ff94a67 100644 --- a/src/main/java/com/marketingconfort/mydressin/repositories/CartRepository.java +++ b/src/main/java/com/marketingconfort/mydressin/repositories/CartRepository.java @@ -78,7 +78,7 @@ public interface CartRepository extends JpaRepository<Cart, Long>, JpaSpecificat ItemSource source); @Query("SELECT c FROM Cart c " + - "WHERE EXISTS (SELECT ic1 FROM c.items ic1 WHERE ic1.status != 'DELETED_SITE' AND ic1.status != 'DELETED_BO' ) " + + "WHERE EXISTS (SELECT ic1 FROM c.items ic1) " + " 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/repositories/SessionOrderRepository.java b/src/main/java/com/marketingconfort/mydressin/repositories/SessionOrderRepository.java index 06ea98b7bb9615982aba1fefbf5ffbbeb7bba484..3e8ae6c563d596d1341f8f7a2f6e47ff82d140f0 100644 --- a/src/main/java/com/marketingconfort/mydressin/repositories/SessionOrderRepository.java +++ b/src/main/java/com/marketingconfort/mydressin/repositories/SessionOrderRepository.java @@ -21,4 +21,5 @@ public interface SessionOrderRepository extends JpaRepository<SessionOrder,Long> void updateItemCartExpirationDateBySaleSessionId(@Param("sessionId") Long sessionId, @Param("expirationDate") LocalDateTime expirationDate); List<SessionOrder> findAll(); + SessionOrder findSessionOrderByItemCart_Id(Long id); } 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 5f374acc91d00c8318df1f2472cb95edbf0e90c1..ecce6f086de0c50d7cb8c735170859bb65f1b228 100644 --- a/src/main/java/com/marketingconfort/mydressin/services/impl/CartServiceImp.java +++ b/src/main/java/com/marketingconfort/mydressin/services/impl/CartServiceImp.java @@ -16,6 +16,7 @@ import com.marketingconfort.mydressin.common.cart.enumurations.OrderStatus; import com.marketingconfort.mydressin.common.cart.enumurations.Status; import com.marketingconfort.mydressin.common.cart.models.Cart; import com.marketingconfort.mydressin.common.cart.models.ItemCart; +import com.marketingconfort.mydressin.common.cart.models.SessionOrder; import com.marketingconfort.mydressin.common.constant.urlServiceConstant.NameUri; import com.marketingconfort.mydressin.common.constant.urlServiceConstant.NameUrl; import com.marketingconfort.mydressin.common.constant.urlServiceConstant.Path.AddonsServicePath; @@ -29,6 +30,7 @@ import com.marketingconfort.mydressin.exceptions.InsufficientBalanceException; import com.marketingconfort.mydressin.mappers.CartMapper; import com.marketingconfort.mydressin.mappers.ProductDTOMapper; import com.marketingconfort.mydressin.repositories.CartRepository; +import com.marketingconfort.mydressin.repositories.SessionOrderRepository; import com.marketingconfort.mydressin.services.*; import com.marketingconfort.starter.core.exceptions.TechnicalException; import com.marketingconfort.starter.core.services.MCRestTemplateService; @@ -64,9 +66,10 @@ public class CartServiceImp implements CartService { private final NameUrl nameUrl; private final ExternalApiService externalApiService; private final PromoCodeUtilService promoCodeUtilService; + private final SessionOrderRepository sessionOrderRepository; public CartServiceImp(CartRepository cartRepository, ProductStockService productStockService, CartMapper cartMapper, CartCountConfigService cartCountConfigService, - MCRestTemplateService mcRestTemplateService, NameUrl nameUrl, ExternalApiService externalApiService, PromoCodeUtilService promoCodeUtilService) { + MCRestTemplateService mcRestTemplateService, NameUrl nameUrl, ExternalApiService externalApiService, PromoCodeUtilService promoCodeUtilService, SessionOrderRepository sessionOrderRepository) { this.cartRepository = cartRepository; this.productStockService = productStockService; this.cartMapper = cartMapper; @@ -75,6 +78,7 @@ public class CartServiceImp implements CartService { this.nameUrl = nameUrl; this.externalApiService = externalApiService; this.promoCodeUtilService = promoCodeUtilService; + this.sessionOrderRepository = sessionOrderRepository; } @@ -1059,11 +1063,16 @@ public class CartServiceImp implements CartService { ? productCart.getPromoPrice() * item.getQuantity() : productCart.getRegularPrice() * item.getQuantity(); ProductDetailsCartDTO detailsDTO = new ProductDetailsCartDTO(); - detailsDTO.setItemId(item.getProductId()); + detailsDTO.setItemId(item.getId()); detailsDTO.setQuantity(item.getQuantity()); detailsDTO.setSource(item.getSource()); detailsDTO.setTotalPrice(price); detailsDTO.setProductCartDTOS(productCart); + detailsDTO.setStatus(item.getStatus()); + SessionOrder sessionOrderByItemCartId = sessionOrderRepository.findSessionOrderByItemCart_Id(item.getId()); + if(sessionOrderByItemCartId!=null){ + detailsDTO.setSessionOrderId(sessionOrderByItemCartId.getSaleSession().getId()); + } return detailsDTO; }