Implemented new email sending flow for type BLUE TONGUE

This commit is contained in:
rajesh
2026-02-23 12:53:06 +05:30
parent 822917a16c
commit ccef97b0ac
14 changed files with 96 additions and 17 deletions

View File

@@ -10,14 +10,13 @@ import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.dao.ApplicationDao;
import net.gepafin.tendermanagement.dao.EmailLogDao;
import net.gepafin.tendermanagement.dao.NotificationDao;
import net.gepafin.tendermanagement.entities.ApplicationAmendmentRequestEntity;
import net.gepafin.tendermanagement.entities.ApplicationEntity;
import net.gepafin.tendermanagement.entities.CompanyEntity;
import net.gepafin.tendermanagement.entities.EmailLogEntity;
import net.gepafin.tendermanagement.enums.EmailScenarioTypeEnum;
import net.gepafin.tendermanagement.enums.EmailServiceTypeEnum;
import net.gepafin.tendermanagement.enums.NotificationTypeEnum;
import net.gepafin.tendermanagement.enums.StatusTypeEnum;
import net.gepafin.tendermanagement.enums.*;
import net.gepafin.tendermanagement.model.request.*;
import net.gepafin.tendermanagement.repositories.ApplicationAmendmentRequestRepository;
import net.gepafin.tendermanagement.repositories.EmailLogRepository;
import net.gepafin.tendermanagement.service.CompanyService;
import net.gepafin.tendermanagement.util.DateTimeUtil;
@@ -68,6 +67,9 @@ public class PecEmailService implements EmailService {
@Autowired
private EmailLogRepository emailLogRepository;
@Autowired
private ApplicationAmendmentRequestRepository applicationAmendmentRequestRepository;
@Override
public void sendEmail(String subject, String body, List<String> recipientEmails, EmailConfig emailConfig, EmailLogEntity emailLogEntity, Boolean isSendEmail) {
@@ -80,7 +82,7 @@ public class PecEmailService implements EmailService {
S3DocxProcessor processor = new S3DocxProcessor(s3Client);
List<String> urls = Utils.convertJsonStringToList(emailLogEntity.getAttachments(), String.class);
if(emailLogEntity.getEmailType().equals(EmailScenarioTypeEnum.SPECIAL_APPLICATION_AMENDMENT_REQUESTED.getValue())) {
if(emailLogEntity.getEmailType().equals(EmailScenarioTypeEnum.SPECIAL_APPLICATION_AMENDMENT_REQUESTED.getValue()) || emailLogEntity.getEmailType().equals(EmailScenarioTypeEnum.SPECIAL_APPLICATION_AMENDMENT_REQUESTED_BLUE_TONGUE.getValue()) ) {
ApplicationEntity applicationEntity = applicationDao.validateApplication(emailLogEntity.getApplicationId());
CompanyEntity company = companyService.validateCompany(applicationEntity.getCompanyId());
String amount = Utils.convertToItalianFormat(String.valueOf(applicationEntity.getAmountAccepted()));
@@ -88,13 +90,27 @@ public class PecEmailService implements EmailService {
if (protocolNumber == null) {
protocolNumber = String.valueOf(applicationEntity.getProtocol().getProtocolNumber());
}
replacements = Map.of(
"{call_name}", applicationEntity.getCall().getName(),
"{amount_accepted}", amount,
"{pec}", "bandi.gepafin@legalmail.it",
"{company_name}", company.getCompanyName(),
"{protocol_number}", protocolNumber
);
replacements.put("{call_name}", applicationEntity.getCall().getName());
replacements.put("{amount_accepted}", amount);
replacements.put("{pec}", "bandi.gepafin@legalmail.it");
replacements.put("{company_name}", company.getCompanyName());
replacements.put("{protocol_number}", protocolNumber);
if (emailLogEntity.getEmailType().equals(EmailScenarioTypeEnum.SPECIAL_APPLICATION_AMENDMENT_REQUESTED_BLUE_TONGUE.getValue())){
ApplicationAmendmentRequestEntity applicationAmendmentRequestEntity=applicationAmendmentRequestRepository.findByApplicationIdAndIsDeletedFalseAndAmendmentDocumentTypeAndType(applicationEntity.getId(), AmendmentDocumentTypeEnum.BLUE_TONGUE.getValue(),ApplicationAmendmentRequestTypeEnum.SPECIAL.getValue());
if(applicationAmendmentRequestEntity!=null){
if (applicationAmendmentRequestEntity.getBlueTongueField1() != null) {
replacements.put("{blue_tongue_field_1}",
Utils.convertToItalianFormat(applicationAmendmentRequestEntity.getBlueTongueField1().toString()));
}
if (applicationAmendmentRequestEntity.getBlueTongueField2() != null) {
replacements.put("{blue_tongue_field_2}",
Utils.convertToItalianFormat(applicationAmendmentRequestEntity.getBlueTongueField2().toString()));
}
}
}
}
if (urls!=null && Boolean.FALSE.equals(urls.isEmpty())) {
Map<String, AttachmentRequest> processedFiles = null;