Created new endpoint to reject emails by director
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user