Created new endpoint to reject emails by director

This commit is contained in:
rajesh
2026-03-11 12:20:06 +05:30
parent 4daf5b863a
commit 8673bcdde8
13 changed files with 64 additions and 1 deletions

View File

@@ -15,6 +15,7 @@ import net.gepafin.tendermanagement.repositories.EmailLogRepository;
import net.gepafin.tendermanagement.repositories.UserActionsRepository;
import net.gepafin.tendermanagement.service.ApplicationService;
import net.gepafin.tendermanagement.service.CallService;
import net.gepafin.tendermanagement.util.DateTimeUtil;
import net.gepafin.tendermanagement.util.Utils;
import net.gepafin.tendermanagement.util.Validator;
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
@@ -24,6 +25,7 @@ import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@@ -74,6 +76,21 @@ public class PecMailDao {
return pecMailResponses;
}
public PecMailResponse rejectPecMail(HttpServletRequest request, Long userActionId, String motivation) {
List<EmailLogEntity> emailLogs = getEmailLogEntities(request, userActionId);
LocalDateTime rejectedAt = DateTimeUtil.DateServerToUTC(LocalDateTime.now());
for (EmailLogEntity log : emailLogs) {
log.setSendStatus(StatusTypeEnum.REJECTED.getValue());
log.setMotivation(motivation);
log.setSendDateTime(rejectedAt);
}
emailLogRepository.saveAll(emailLogs);
EmailLogEntity firstLog = emailLogs.get(0);
ApplicationEntity applicationEntity = applicationService.validateApplication(firstLog.getApplicationId());
String callName = applicationEntity.getCall().getName();
return createPecMailResponse(firstLog.getUserAction().getId(), firstLog, callName);
}
private List<EmailLogEntity> getEmailLogEntities(HttpServletRequest request, Long userActionId) {
UserActionEntity userActionEntity = userActionsRepository.findUserActionByIdAndIsDeletedFalse(userActionId);
if (userActionEntity == null) {
@@ -117,6 +134,7 @@ public class PecMailDao {
pecEmailLogResponse.setSubject(emailLogEntity.getEmailSubject());
pecEmailLogResponse.setHtmlContent(emailLogEntity.getEmailBody());
pecEmailLogResponse.setCallId(emailLogEntity.getCallId());
pecEmailLogResponse.setMotivation(emailLogEntity.getMotivation());
return pecEmailLogResponse;
}
private PecMailResponse createPecMailResponse(Long userActionId, EmailLogEntity emailLogEntity, String callName) {