From 3ecb147aa5d8fe98fd4a206cba3755404e9de5ab Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Tue, 28 Sep 2021 17:46:55 +0300 Subject: [PATCH] pc integration updates --- .../model/dossiertemplate/dossier/Dossier.java | 1 + .../v1/server/controller/DossierController.java | 17 ++++++++++++----- .../v1/server/utils/DossierMapper.java | 16 ++++++++++++++++ 3 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/DossierMapper.java diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/Dossier.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/Dossier.java index 91d2050ce..634bc3096 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/Dossier.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/Dossier.java @@ -25,6 +25,7 @@ public class Dossier { private Set memberIds = new HashSet<>(); private Set approverIds = new HashSet<>(); private Set downloadFileTypes = new HashSet<>(); + private Set reportTemplateIds = new HashSet<>(); private boolean watermarkEnabled; private OffsetDateTime softDeletedTime; private OffsetDateTime hardDeletedTime; 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 f25a22dcf..1349910dd 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 @@ -3,6 +3,7 @@ package com.iqser.red.service.peristence.v1.server.controller; import com.iqser.red.service.peristence.v1.server.service.DossierService; import com.iqser.red.service.peristence.v1.server.service.FileService; import com.iqser.red.service.peristence.v1.server.service.FileStatusService; +import com.iqser.red.service.peristence.v1.server.utils.DossierMapper; import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.DossierNotFoundException; @@ -16,6 +17,7 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; +import javax.transaction.Transactional; import java.time.OffsetDateTime; import java.util.List; import java.util.Set; @@ -34,17 +36,19 @@ public class DossierController implements DossierResource { @Override + @Transactional public Dossier addDossier(@RequestBody CreateOrUpdateDossierRequest dossierRequest) { - return convert(dossierService.addDossier(dossierRequest), Dossier.class); + return convert(dossierService.addDossier(dossierRequest), Dossier.class, new DossierMapper()); } @Override + @Transactional public Dossier updateDossier(@RequestBody CreateOrUpdateDossierRequest dossierRequest, @PathVariable(DOSSIER_ID_PARAM) String dossierId) { - return convert(dossierService.updateDossier(dossierRequest, dossierId), Dossier.class); + return convert(dossierService.updateDossier(dossierRequest, dossierId), Dossier.class, new DossierMapper()); } @@ -69,33 +73,36 @@ public class DossierController implements DossierResource { @Override + @Transactional public List getAllDossiers() { return convert(dossierService.getAllDossiers() .stream() .filter(p -> p.getStatus().equals(DossierStatus.ACTIVE)) - .collect(Collectors.toList()), Dossier.class); + .collect(Collectors.toList()), Dossier.class, new DossierMapper()); } @Override + @Transactional public Dossier getDossierById(@Param(DOSSIER_ID_PARAM) @PathVariable(DOSSIER_ID_PARAM) String dossierId) { DossierEntity dossier = dossierService.getDossierById(dossierId); if (dossier.getStatus().equals(DossierStatus.DELETED)) { throw new DossierNotFoundException(String.format(DOSSIER_NOT_FOUND_MESSAGE, dossierId)); } - return convert(dossier, Dossier.class); + return convert(dossier, Dossier.class, new DossierMapper()); } @Override + @Transactional public List getSoftDeletedDossiers() { return convert(dossierService.getAllDossiers() .stream() .filter(p -> p.getStatus().equals(DossierStatus.DELETED) && p.getHardDeletedTime() == null) - .collect(Collectors.toList()), Dossier.class); + .collect(Collectors.toList()), Dossier.class, new DossierMapper()); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/DossierMapper.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/DossierMapper.java new file mode 100644 index 000000000..554a5c8ad --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/DossierMapper.java @@ -0,0 +1,16 @@ +package com.iqser.red.service.peristence.v1.server.utils; + +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.ReportTemplateEntity; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.Dossier; + +import java.util.function.BiConsumer; +import java.util.stream.Collectors; + +public class DossierMapper implements BiConsumer { + + @Override + public void accept(DossierEntity dossierEntity, Dossier dossier) { + dossier.setReportTemplateIds(dossierEntity.getReportTemplates().stream().map(ReportTemplateEntity::getTemplateId).collect(Collectors.toSet())); + } +}