diff --git a/src/main/java/com/encorazone/inventory_manager/service/InventoryServiceImpl.java b/src/main/java/com/encorazone/inventory_manager/service/InventoryServiceImpl.java index 5119e9e..7f6d821 100644 --- a/src/main/java/com/encorazone/inventory_manager/service/InventoryServiceImpl.java +++ b/src/main/java/com/encorazone/inventory_manager/service/InventoryServiceImpl.java @@ -85,6 +85,19 @@ public ProductListResponse findByNameAndCategoryAndStockQuantity(String name, St .and(InventoryProductsFilter.quantityEquals(stockQuantity)); Page page = productRepository.findAll(spec, pageable); + if (page.getContent().isEmpty()) { + List ref = productRepository.findAll(spec); + if (!ref.isEmpty()) { + if (ref.size()>= pageable.getPageSize()){ + return ProductMapper.toProductListResponse( + ref.subList( + (ref.size() - pageable.getPageSize()), + (ref.size() - 1)), + (int) Math.ceil((double) ref.size()/pageable.getPageSize())); + } + return ProductMapper.toProductListResponse(ref, 1); + } + } return ProductMapper.toProductListResponse(page.getContent(), page.getTotalPages()); }