package com.mossle.internal.sendmail.support;
import javax.annotation.Resource;
import com.mossle.api.notification.NotificationDTO;
import com.mossle.api.notification.NotificationHandler;
import com.mossle.api.user.UserConnector;
import com.mossle.internal.sendmail.service.SendmailDataService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class SendmailNotificationHandler implements NotificationHandler {
private static Logger logger = LoggerFactory
.getLogger(SendmailNotificationHandler.class);
private SendmailDataService sendmailDataService;
private UserConnector userConnector;
public void handle(NotificationDTO notificationDto, String tenantId) {
String email = null;
if ("userid".equals(notificationDto.getReceiverType())) {
email = userConnector.findById(notificationDto.getReceiver())
.getEmail();
} else if ("email".equals(notificationDto.getReceiverType())) {
email = notificationDto.getReceiver();
} else {
return;
}
try {
sendmailDataService.send(email, notificationDto.getSubject(),
notificationDto.getContent(), "1", tenantId);
} catch (Exception ex) {
logger.error(ex.getMessage(), ex);
}
}
public String getType() {
return "sendmail";
}
@Resource
public void setSendmailDataService(SendmailDataService sendmailDataService) {
this.sendmailDataService = sendmailDataService;
}
@Resource
public void setUserConnector(UserConnector userConnector) {
this.userConnector = userConnector;
}
}