Done ticket GEPAFINBE-92

This commit is contained in:
nisha
2024-11-15 19:55:24 +05:30
parent 526a831357
commit 7485cead14
26 changed files with 257 additions and 164 deletions

View File

@@ -1,17 +1,12 @@
package net.gepafin.tendermanagement.dao;
import net.gepafin.tendermanagement.entities.EmailLogEntity;
import net.gepafin.tendermanagement.entities.EmailTrackingEntity;
import net.gepafin.tendermanagement.entities.UserEntity;
import net.gepafin.tendermanagement.enums.EmailTrackingEntityTypeEnum;
import net.gepafin.tendermanagement.enums.EmailScenarioTypeEnum;
import net.gepafin.tendermanagement.enums.EmailEntityTypeEnum;
import net.gepafin.tendermanagement.enums.RecipientTypeEnum;
import net.gepafin.tendermanagement.enums.StatusTypeEnum;
import net.gepafin.tendermanagement.model.request.EmailLogRequest;
import net.gepafin.tendermanagement.repositories.EmailLogRepository;
import net.gepafin.tendermanagement.repositories.EmailTrackingRepository;
import net.gepafin.tendermanagement.util.DateTimeUtil;
import net.gepafin.tendermanagement.util.FieldValidator;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -23,13 +18,10 @@ public class EmailLogDao {
@Autowired
private EmailLogRepository emailLogRepository;
@Autowired
private EmailTrackingRepository emailTrackingRepository;
public EmailLogEntity createEmailLog(EmailLogRequest emailLogRequest){
EmailLogEntity emailLogEntity=new EmailLogEntity();
emailLogEntity.setEmailType(emailLogRequest.getEmailType());
emailLogEntity.setEmailType(emailLogRequest.getEmailType().getValue());
emailLogEntity.setRecipientType(emailLogRequest.getRecipientType().getValue());
emailLogEntity.setRecipientId(emailLogRequest.getRecipientId());
emailLogEntity.setEmailSubject(emailLogRequest.getEmailSubject());
@@ -37,32 +29,22 @@ public class EmailLogDao {
emailLogEntity.setSendStatus(emailLogRequest.getSendStatus());
emailLogEntity.setSendDateTime(DateTimeUtil.DateServerToUTC(LocalDateTime.now())); // Set to now if null
emailLogEntity.setErrorMessage(emailLogRequest.getErrorMessage());
emailLogEntity=saveEmailLogEntity(emailLogEntity);
emailLogEntity.setUserId(emailLogRequest.getUserId());
emailLogEntity.setEmailServiceResponse(emailLogRequest.getEmailServiceResponse());
emailLogEntity.setRecipientEmails(emailLogRequest.getRecipientEmails());
if(emailLogRequest.getEntityId()!=null && emailLogRequest.getEntityId()>0){
EmailTrackingEntity emailTrackingEntity=createEmailTrackingEntity(emailLogEntity,emailLogRequest);
if(emailTrackingEntity==null){
emailLogEntity.setErrorMessage("Failed while creating email tracking entity");
emailLogEntity.setSendStatus(StatusTypeEnum.FAILED.getValue());
emailLogEntity=saveEmailLogEntity(emailLogEntity);
}
emailLogEntity.setEntityId(emailLogRequest.getEntityId());
emailLogEntity.setEntityType(emailLogRequest.getEntitytype().getValue());
}
emailLogEntity=saveEmailLogEntity(emailLogEntity);
return emailLogEntity;
}
public EmailLogEntity saveEmailLogEntity(EmailLogEntity emailLogEntity){
return emailLogRepository.save(emailLogEntity);
}
public EmailTrackingEntity createEmailTrackingEntity(EmailLogEntity emailLogEntity,EmailLogRequest emailLogRequest){
EmailTrackingEntity emailTrackingEntity=new EmailTrackingEntity();
emailTrackingEntity.setEmailLog(emailLogEntity);
emailTrackingEntity.setEntityId(emailLogRequest.getEntityId());
emailTrackingEntity.setEntityType(emailLogRequest.getEntitytype().getValue());
emailTrackingEntity.setUser(emailLogRequest.getUser());
emailTrackingRepository.save(emailTrackingEntity);
return emailTrackingEntity;
}
public EmailLogRequest createEmailLogRequest(String emailType, RecipientTypeEnum recipientType, Long recipientId,
public EmailLogRequest createEmailLogRequest(EmailScenarioTypeEnum emailType, RecipientTypeEnum recipientType, Long recipientId,
String emailSubject, String emailBody, String sendStatus,
String errorMessage, Long entityId, EmailTrackingEntityTypeEnum entityType, UserEntity user) {
String errorMessage, Long entityId, EmailEntityTypeEnum entityType, String recipientEmails, Long userId) {
EmailLogRequest emailLogRequest = new EmailLogRequest();
emailLogRequest.setEmailType(emailType);
emailLogRequest.setRecipientType(recipientType);
@@ -71,9 +53,10 @@ public class EmailLogDao {
emailLogRequest.setEmailBody(emailBody);
emailLogRequest.setSendStatus(sendStatus);
emailLogRequest.setErrorMessage(errorMessage);
emailLogRequest.setUserId(userId);
emailLogRequest.setEntityId(entityId);
emailLogRequest.setEntitytype(entityType);
emailLogRequest.setUser(user);
emailLogRequest.setRecipientEmails(recipientEmails);
return emailLogRequest;
}
}