diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierResource.java index 8eaa94c3c..b4d053bf7 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierResource.java @@ -26,7 +26,7 @@ public interface DossierResource { String REST_PATH = "/dossier"; String DOSSIER_TEMPLATE_PATH = "/dossier-template"; - String INFO_PATH = "/info"; + String INFO_PATH = "/dossier-info"; String DELETED_DOSSIERS_PATH = "/deletedDossiers"; String HARD_DELETE_PATH = "/hardDelete"; String UNDELETE_PATH = "/undelete"; @@ -75,7 +75,7 @@ public interface DossierResource { @RequestParam(name = INCLUDE_DELETED_PARAM, defaultValue = "false", required = false) boolean includeDeleted); - @GetMapping(value = REST_PATH + INFO_PATH, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = INFO_PATH, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) DossierInformation getDossierInformation(@RequestBody List filteredDossierIds); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierPersistenceService.java index f7277346d..e6ac1ea5d 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierPersistenceService.java @@ -4,16 +4,16 @@ import static com.iqser.red.service.persistence.management.v1.processor.exceptio import java.time.OffsetDateTime; import java.time.temporal.ChronoUnit; +import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.UUID; import java.util.stream.Collectors; - -import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException; @@ -28,8 +28,6 @@ import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.do import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.transaction.annotation.Isolation; -import org.springframework.transaction.annotation.Transactional; @Service @RequiredArgsConstructor @@ -171,6 +169,17 @@ public class DossierPersistenceService { public List findAllDossiers() { return dossierRepository.findAll(); + + } + + + public List findAllDossiers(List dossierIds) { + + if (!dossierIds.isEmpty()) { + return dossierRepository.findAllById(dossierIds); + } else { + return Collections.emptyList(); + } } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierController.java index 227b45f03..2e2e6215c 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierController.java @@ -4,6 +4,7 @@ import static com.iqser.red.service.persistence.management.v1.processor.exceptio import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; import java.time.OffsetDateTime; +import java.util.Collections; import java.util.List; import java.util.Set; import java.util.stream.Collectors; @@ -143,10 +144,8 @@ public class DossierController implements DossierResource { DossierInformation dossierInformation = new DossierInformation(); - var dossiers = dossierService.getAllDossiers(); - if (filteredDossierIds != null && !filteredDossierIds.isEmpty()) { - dossiers = dossiers.stream().filter(d -> filteredDossierIds.contains(d.getId())).collect(Collectors.toList()); - } + var dossiers = dossierService.getAllDossiers(filteredDossierIds != null ? filteredDossierIds : Collections.emptyList()); + dossiers.forEach(d -> { if (d.getHardDeletedTime() != null) { dossierInformation.setNumberOfHardDeletedDossiers(dossierInformation.getNumberOfHardDeletedDossiers() + 1); diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierService.java index 3ebd370d2..370ade44c 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierService.java @@ -133,6 +133,12 @@ public class DossierService { } + public List getAllDossiers(List dossierIds) { + + return dossierPersistenceService.findAllDossiers(dossierIds); + } + + public List getAllDossiersForDossierTemplateId(String dossierTemplateId) { return dossierPersistenceService.findAllDossiersForDossierTemplateId(dossierTemplateId);