From 3c1c6c9487f35bd2d6b114985868c97b360a3bfd Mon Sep 17 00:00:00 2001 From: harish Date: Wed, 6 Nov 2024 14:09:57 +0530 Subject: [PATCH] Updated code --- .../dao/ApplicationAmendmentRequestDao.java | 4 ++++ .../tendermanagement/dao/ApplicationDao.java | 17 ++++++++++++++--- .../dao/EmailNotificationDao.java | 11 +++++++++-- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationAmendmentRequestDao.java b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationAmendmentRequestDao.java index d4d3c7f0..d273ff36 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationAmendmentRequestDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationAmendmentRequestDao.java @@ -578,9 +578,13 @@ public class ApplicationAmendmentRequestDao { String body = prepareBody(emailTemplate, amendment, beneficiaryUser); String email = beneficiaryUser.getEmail(); String companyEmail = applicationEntity.getCompany().getEmail(); + String contactEmail = applicationEntity.getCompany().getContactEmail(); if (Boolean.TRUE.equals(amendment.getIsEmail())&&email != null && !email.isEmpty() && companyEmail != null && !companyEmail.isEmpty()) { emailNotificationDao.sendMail(hub.getId(), subject, body, List.of(email)); emailNotificationDao.sendMail(hub.getId(), subject, body, List.of(companyEmail)); + if (contactEmail != null && !contactEmail.isEmpty() && !contactEmail.equals(companyEmail)) { + emailNotificationDao.sendMail(hub.getId(), subject, body, List.of(contactEmail)); + } // mailUtil.sendByMailGun(subject,body,List.of(email),null); } else { throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.BENEFICIARY_EMAIL_NOT_FOUND_MSG)); diff --git a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java index 8aca183b..a51d9be1 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java @@ -735,9 +735,20 @@ public class ApplicationDao { email = userEntity.getBeneficiary().getEmail(); } emailNotificationDao.sendMail(hub.getId(), subject, body, List.of(email)); - emailNotificationDao.sendMail(hub.getId(), subject, body, List.of(applicationEntity.getCompany().getEmail())); - } - + List recipientEmails = new ArrayList<>(); + recipientEmails.add(email); + String companyEmail = company.getEmail(); + String contactEmail = company.getContactEmail(); + + if (companyEmail != null && !companyEmail.isEmpty()) { + recipientEmails.add(companyEmail); + } + + if (contactEmail != null && !contactEmail.isEmpty() && !contactEmail.equals(companyEmail)) { + recipientEmails.add(contactEmail); + } + emailNotificationDao.sendMail(hub.getId(), subject, body, recipientEmails); + } private void sendMailTodefaultSystemAndGepafin(UserEntity userEntity, ApplicationEntity applicationEntity) { CallEntity call = applicationEntity.getCall(); CompanyEntity company = applicationEntity.getCompany(); diff --git a/src/main/java/net/gepafin/tendermanagement/dao/EmailNotificationDao.java b/src/main/java/net/gepafin/tendermanagement/dao/EmailNotificationDao.java index 43f3b4e4..2f59aa0c 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/EmailNotificationDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/EmailNotificationDao.java @@ -76,25 +76,32 @@ public class EmailNotificationDao { String body = Utils.replacePlaceholders(systemEmailTemplateResponse.getHtmlContent(), bodyPlaceholders); UserEntity userEntity = userService.validateUser(applicationEntity.getUserId()); + List recipientEmails = getRecipientEmails(applicationEntity, userEntity, additionalRecipients); + sendMail(applicationEntity.getHubId(), subject, body, recipientEmails); + } + private List getRecipientEmails(ApplicationEntity applicationEntity, UserEntity userEntity, List additionalRecipients) { List recipientEmails = new ArrayList<>(); String companyEmail = applicationEntity.getCompany().getEmail(); String contactEmail = applicationEntity.getCompany().getContactEmail(); + if (companyEmail != null && !companyEmail.isEmpty()) { recipientEmails.add(companyEmail); } if (contactEmail != null && !contactEmail.isEmpty() && !contactEmail.equals(companyEmail)) { recipientEmails.add(contactEmail); } - + if (userEntity.getBeneficiary().getEmail() != null) { recipientEmails.add(userEntity.getBeneficiary().getEmail()); } if (additionalRecipients != null) { recipientEmails.addAll(additionalRecipients); } - sendMail(applicationEntity.getHubId(), subject, body, recipientEmails); + + return recipientEmails; } + private String determineService(Long hubId) { HubEntity hub = hubRepository.findById(hubId).orElseThrow(() -> new IllegalArgumentException("Invalid Hub ID: " + hubId));