76 lines
3.8 KiB
Java
76 lines
3.8 KiB
Java
package net.gepafin.tendermanagement.dao;
|
|
|
|
import jakarta.servlet.http.HttpServletRequest;
|
|
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
|
import net.gepafin.tendermanagement.entities.EmailLogEntity;
|
|
import net.gepafin.tendermanagement.enums.EmailScenarioTypeEnum;
|
|
import net.gepafin.tendermanagement.enums.EmailEntityTypeEnum;
|
|
import net.gepafin.tendermanagement.enums.RecipientTypeEnum;
|
|
import net.gepafin.tendermanagement.enums.VersionActionTypeEnum;
|
|
import net.gepafin.tendermanagement.model.request.EmailLogRequest;
|
|
import net.gepafin.tendermanagement.model.request.VersionHistoryRequest;
|
|
import net.gepafin.tendermanagement.repositories.EmailLogRepository;
|
|
import net.gepafin.tendermanagement.repositories.UserActionsRepository;
|
|
import net.gepafin.tendermanagement.util.DateTimeUtil;
|
|
import net.gepafin.tendermanagement.util.LoggingUtil;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
@Component
|
|
public class EmailLogDao {
|
|
|
|
@Autowired
|
|
private EmailLogRepository emailLogRepository;
|
|
|
|
@Autowired
|
|
private HttpServletRequest request;
|
|
|
|
@Autowired
|
|
private LoggingUtil loggingUtil;
|
|
|
|
|
|
public EmailLogEntity createEmailLog(EmailLogRequest emailLogRequest) {
|
|
|
|
EmailLogEntity emailLogEntity = new EmailLogEntity();
|
|
emailLogEntity.setEmailType(emailLogRequest.getEmailType().getValue());
|
|
emailLogEntity.setRecipientType(emailLogRequest.getRecipientType().getValue());
|
|
emailLogEntity.setRecipientId(emailLogRequest.getRecipientId());
|
|
emailLogEntity.setEmailSubject(emailLogRequest.getEmailSubject());
|
|
emailLogEntity.setEmailBody(emailLogRequest.getEmailBody());
|
|
emailLogEntity.setSendStatus(emailLogRequest.getSendStatus());
|
|
emailLogEntity.setSendDateTime(DateTimeUtil.DateServerToUTC(LocalDateTime.now())); // Set to now if null
|
|
emailLogEntity.setErrorMessage(emailLogRequest.getErrorMessage());
|
|
emailLogEntity.setUserId(emailLogRequest.getUserId());
|
|
emailLogEntity.setEmailServiceResponse(emailLogRequest.getEmailServiceResponse());
|
|
emailLogEntity.setRecipientEmails(emailLogRequest.getRecipientEmails());
|
|
emailLogEntity.setEmailServiceType(emailLogRequest.getEmailServiceType().getValue());
|
|
emailLogEntity.setIsDeleted(false);
|
|
emailLogEntity.setApplicationId(emailLogRequest.getApplicatioId());
|
|
emailLogEntity.setAmendmentId(emailLogRequest.getAmendmentId());
|
|
emailLogEntity.setCallId(emailLogRequest.getCallId());
|
|
emailLogEntity.setUserAction(loggingUtil.getUserActionLogById(emailLogRequest.getUserActionId()));
|
|
emailLogEntity = saveEmailLogEntity(emailLogEntity);
|
|
return emailLogEntity;
|
|
}
|
|
public EmailLogEntity saveEmailLogEntity(EmailLogEntity emailLogEntity){
|
|
return emailLogRepository.save(emailLogEntity);
|
|
}
|
|
public EmailLogRequest createEmailLogRequest(EmailScenarioTypeEnum emailType, RecipientTypeEnum recipientType, Long recipientId,
|
|
String recipientEmails, Long userId,Long applicationId,Long amendmentId,Long callId) {
|
|
EmailLogRequest emailLogRequest = new EmailLogRequest();
|
|
Long userActionId =(Long) request.getAttribute(GepafinConstant.USER_ACTION_ID);
|
|
emailLogRequest.setEmailType(emailType);
|
|
emailLogRequest.setRecipientType(recipientType);
|
|
emailLogRequest.setRecipientId(recipientId);
|
|
emailLogRequest.setUserId(userId);
|
|
emailLogRequest.setRecipientEmails(recipientEmails);
|
|
emailLogRequest.setApplicatioId(applicationId);
|
|
emailLogRequest.setAmendmentId(amendmentId);
|
|
emailLogRequest.setCallId(callId);
|
|
emailLogRequest.setUserActionId(userActionId);
|
|
return emailLogRequest;
|
|
}
|
|
}
|