26 lines
919 B
Java
26 lines
919 B
Java
package ru.ulstu.activity.common.service;
|
|
|
|
import ru.ulstu.activity.common.model.AbstractActivity;
|
|
import ru.ulstu.user.model.User;
|
|
import ru.ulstu.user.service.MailService;
|
|
|
|
import java.util.Map;
|
|
|
|
public abstract class ActivityNotificationService<T extends AbstractActivity> {
|
|
private final MailService mailService;
|
|
|
|
protected ActivityNotificationService(MailService mailService) {
|
|
this.mailService = mailService;
|
|
}
|
|
|
|
public abstract void sendCreateNotification(T entity);
|
|
|
|
protected void sendForAuthor(Map<String, Object> variables, User author, String template, String title) {
|
|
mailService.sendEmailFromTemplate(variables, author, template, title);
|
|
}
|
|
|
|
protected void sendForAllAuthors(Map<String, Object> variables, T entity, String template, String title) {
|
|
entity.getActivityMembers().forEach(author -> sendForAuthor(variables, author, template, title));
|
|
}
|
|
}
|