Pull request #21: pc integration updates

Merge in RED/persistence-service from ps-updates to master

* commit '3ecb147aa5d8fe98fd4a206cba3755404e9de5ab':
  pc integration updates
This commit is contained in:
Timo Bejan 2021-09-28 20:51:12 +02:00
commit 632009cbb9
3 changed files with 29 additions and 5 deletions

View File

@ -25,6 +25,7 @@ public class Dossier {
private Set<String> memberIds = new HashSet<>(); private Set<String> memberIds = new HashSet<>();
private Set<String> approverIds = new HashSet<>(); private Set<String> approverIds = new HashSet<>();
private Set<DownloadFileType> downloadFileTypes = new HashSet<>(); private Set<DownloadFileType> downloadFileTypes = new HashSet<>();
private Set<String> reportTemplateIds = new HashSet<>();
private boolean watermarkEnabled; private boolean watermarkEnabled;
private OffsetDateTime softDeletedTime; private OffsetDateTime softDeletedTime;
private OffsetDateTime hardDeletedTime; private OffsetDateTime hardDeletedTime;

View File

@ -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.DossierService;
import com.iqser.red.service.peristence.v1.server.service.FileService; 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.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.DossierEntity;
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity;
import com.iqser.red.service.persistence.management.v1.processor.exception.DossierNotFoundException; 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.RequestBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.transaction.Transactional;
import java.time.OffsetDateTime; import java.time.OffsetDateTime;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@ -34,17 +36,19 @@ public class DossierController implements DossierResource {
@Override @Override
@Transactional
public Dossier addDossier(@RequestBody CreateOrUpdateDossierRequest dossierRequest) { public Dossier addDossier(@RequestBody CreateOrUpdateDossierRequest dossierRequest) {
return convert(dossierService.addDossier(dossierRequest), Dossier.class); return convert(dossierService.addDossier(dossierRequest), Dossier.class, new DossierMapper());
} }
@Override @Override
@Transactional
public Dossier updateDossier(@RequestBody CreateOrUpdateDossierRequest dossierRequest, public Dossier updateDossier(@RequestBody CreateOrUpdateDossierRequest dossierRequest,
@PathVariable(DOSSIER_ID_PARAM) String dossierId) { @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 @Override
@Transactional
public List<Dossier> getAllDossiers() { public List<Dossier> getAllDossiers() {
return convert(dossierService.getAllDossiers() return convert(dossierService.getAllDossiers()
.stream() .stream()
.filter(p -> p.getStatus().equals(DossierStatus.ACTIVE)) .filter(p -> p.getStatus().equals(DossierStatus.ACTIVE))
.collect(Collectors.toList()), Dossier.class); .collect(Collectors.toList()), Dossier.class, new DossierMapper());
} }
@Override @Override
@Transactional
public Dossier getDossierById(@Param(DOSSIER_ID_PARAM) @PathVariable(DOSSIER_ID_PARAM) String dossierId) { public Dossier getDossierById(@Param(DOSSIER_ID_PARAM) @PathVariable(DOSSIER_ID_PARAM) String dossierId) {
DossierEntity dossier = dossierService.getDossierById(dossierId); DossierEntity dossier = dossierService.getDossierById(dossierId);
if (dossier.getStatus().equals(DossierStatus.DELETED)) { if (dossier.getStatus().equals(DossierStatus.DELETED)) {
throw new DossierNotFoundException(String.format(DOSSIER_NOT_FOUND_MESSAGE, dossierId)); throw new DossierNotFoundException(String.format(DOSSIER_NOT_FOUND_MESSAGE, dossierId));
} }
return convert(dossier, Dossier.class); return convert(dossier, Dossier.class, new DossierMapper());
} }
@Override @Override
@Transactional
public List<Dossier> getSoftDeletedDossiers() { public List<Dossier> getSoftDeletedDossiers() {
return convert(dossierService.getAllDossiers() return convert(dossierService.getAllDossiers()
.stream() .stream()
.filter(p -> p.getStatus().equals(DossierStatus.DELETED) && p.getHardDeletedTime() == null) .filter(p -> p.getStatus().equals(DossierStatus.DELETED) && p.getHardDeletedTime() == null)
.collect(Collectors.toList()), Dossier.class); .collect(Collectors.toList()), Dossier.class, new DossierMapper());
} }

View File

@ -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<DossierEntity, Dossier> {
@Override
public void accept(DossierEntity dossierEntity, Dossier dossier) {
dossier.setReportTemplateIds(dossierEntity.getReportTemplates().stream().map(ReportTemplateEntity::getTemplateId).collect(Collectors.toSet()));
}
}