KON-23 - KON-411 Ansprechpartnerliste mit EMail
diff --git a/src/main/java/org/eclipse/openk/contactbasedata/service/CompanyService.java b/src/main/java/org/eclipse/openk/contactbasedata/service/CompanyService.java
index bfe8596..bb17aaf 100644
--- a/src/main/java/org/eclipse/openk/contactbasedata/service/CompanyService.java
+++ b/src/main/java/org/eclipse/openk/contactbasedata/service/CompanyService.java
@@ -20,6 +20,7 @@
import org.eclipse.openk.contactbasedata.mapper.CompanyMapper;
import org.eclipse.openk.contactbasedata.mapper.ContactMapper;
import org.eclipse.openk.contactbasedata.mapper.ContactPersonMapper;
+import org.eclipse.openk.contactbasedata.model.TblCommunication;
import org.eclipse.openk.contactbasedata.model.TblCompany;
import org.eclipse.openk.contactbasedata.model.TblContact;
import org.eclipse.openk.contactbasedata.model.TblContactPerson;
@@ -115,13 +116,27 @@
public List<ContactPersonDto> findContactPersonsToCompany( UUID companyContactUuid ) {
TblCompany company = companyRepository.findByTblContactUuid( companyContactUuid )
.orElseThrow( NotFoundException::new);
- Map<Long, TblContactPerson> tblContactPersonMap = company.getContactPersons().stream()
- .collect( Collectors.toMap(TblContactPerson::getId, x -> x));
- List<ContactPersonDto> contactPersonDtos = .stream()
+ List<TblContactPerson> tblContactPeople = company.getContactPersons();
+ Map<UUID, TblContactPerson> tblContactPersonMap = tblContactPeople.stream()
+ .collect( Collectors.toMap(cp -> cp.getContact().getUuid(), x -> x));
+
+
+ List<ContactPersonDto> contactPersonDtos = tblContactPeople.stream()
.map(contactPersonMapper::toContactPersonDto)
.collect(Collectors.toList());
+ // fill in the emails
+ contactPersonDtos.stream().forEach( x -> mapEmail( x, tblContactPersonMap ));
+ return contactPersonDtos;
+ }
- c
+
+ private void mapEmail( ContactPersonDto dto, Map<UUID, TblContactPerson> cpMap ) {
+ TblCommunication tblComm = cpMap.get(dto.getContactUuid()).getContact()
+ .getCommunications().stream()
+ .filter(comm -> comm.getRefCommunicationType().getId() == 1L)
+ .findFirst().orElse(null);
+// TODO: exchange constant 1L with DB-Solution
+ dto.setEmail( tblComm == null ? "" : tblComm.getCommunicationData() );
}
private void setFromCompanyDto( TblCompany destTblCompany, CompanyDto sourceDto ) {
diff --git a/src/main/resources/application_localdev.yml b/src/main/resources/application_localdev.yml
index 387436a..c699abf 100644
--- a/src/main/resources/application_localdev.yml
+++ b/src/main/resources/application_localdev.yml
@@ -38,6 +38,10 @@
ribbon:
listOfServers: http://entopkon:8880
+cors:
+ allowedOrigins: http://localhost:8080
+ corsEnabled: false
+
logging:
file: contact-base-data.log