|
|
@@ -27,11 +27,14 @@ public class NotifyService {
|
|
|
private final DingNotify dingNotify;
|
|
|
private final EmailNotify emailNotify;
|
|
|
private final NotifyReceiverRepository notifyReceiverRepository;
|
|
|
+ private SysMessageService sysMessageService;
|
|
|
|
|
|
- public NotifyService(DingNotify dingNotify, EmailNotify emailNotify, NotifyReceiverRepository notifyReceiverRepository) {
|
|
|
+ public NotifyService(DingNotify dingNotify, EmailNotify emailNotify,
|
|
|
+ NotifyReceiverRepository notifyReceiverRepository, SysMessageService sysMessageService) {
|
|
|
this.dingNotify = dingNotify;
|
|
|
this.emailNotify = emailNotify;
|
|
|
this.notifyReceiverRepository = notifyReceiverRepository;
|
|
|
+ this.sysMessageService = sysMessageService;
|
|
|
}
|
|
|
|
|
|
public <T> void notify(T msg) {
|
|
|
@@ -41,14 +44,14 @@ public class NotifyService {
|
|
|
if (notifyReceiver != null) {
|
|
|
receiver = notifyReceiver.getUrl();
|
|
|
DingMsg dingMsg = (DingMsg) msg;
|
|
|
- threadPool.execute(new NotifyTask<>(dingNotify, receiver, dingMsg));
|
|
|
+ threadPool.execute(new NotifyTask<>(sysMessageService, dingNotify, receiver, dingMsg));
|
|
|
}
|
|
|
} else if (msg instanceof EmailMsg) {
|
|
|
NotifyReceiver notifyReceiver = notifyReceiverRepository.findByType(NotifyType.email.getName());
|
|
|
if (notifyReceiver != null) {
|
|
|
receiver = notifyReceiver.getUrl();
|
|
|
EmailMsg emailMsg = (EmailMsg) msg;
|
|
|
- threadPool.execute(new NotifyTask<>(emailNotify, receiver, emailMsg));
|
|
|
+ threadPool.execute(new NotifyTask<>(sysMessageService, emailNotify, receiver, emailMsg));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -56,10 +59,10 @@ public class NotifyService {
|
|
|
public <T> void notify(String receiver, T msg) {
|
|
|
if (msg instanceof DingMsg) {
|
|
|
DingMsg dingMsg = (DingMsg) msg;
|
|
|
- threadPool.execute(new NotifyTask<>(dingNotify, receiver, dingMsg));
|
|
|
+ threadPool.execute(new NotifyTask<>(sysMessageService, dingNotify, receiver, dingMsg));
|
|
|
} else if (msg instanceof EmailMsg) {
|
|
|
EmailMsg emailMsg = (EmailMsg) msg;
|
|
|
- threadPool.execute(new NotifyTask<>(emailNotify, receiver, emailMsg));
|
|
|
+ threadPool.execute(new NotifyTask<>(sysMessageService, emailNotify, receiver, emailMsg));
|
|
|
}
|
|
|
}
|
|
|
/**
|
|
|
@@ -68,11 +71,13 @@ public class NotifyService {
|
|
|
* @date 2021-06-23 上午9:29
|
|
|
*/
|
|
|
static class NotifyTask<T> implements Runnable {
|
|
|
+ private SysMessageService sysMessageService;
|
|
|
private final Notify<T> notify;
|
|
|
private final String receiver;
|
|
|
private final T msg;
|
|
|
|
|
|
- public NotifyTask(Notify<T> notify, String receiver, T msg) {
|
|
|
+ public NotifyTask(SysMessageService sysMessageService, Notify<T> notify, String receiver, T msg) {
|
|
|
+ this.sysMessageService = sysMessageService;
|
|
|
this.notify = notify;
|
|
|
this.receiver = receiver;
|
|
|
this.msg = msg;
|
|
|
@@ -83,7 +88,9 @@ public class NotifyService {
|
|
|
try {
|
|
|
notify.send(receiver, msg);
|
|
|
} catch (Exception e) {
|
|
|
- log.error("发送给 {} 的通知失败 -> {}", receiver, e.getMessage());
|
|
|
+ String title = "发送通知失败";
|
|
|
+ String content = String.format("发送给 %s 的通知失败 -> %s", receiver, e.getMessage());
|
|
|
+ sysMessageService.putSysMessage(title, content);
|
|
|
}
|
|
|
}
|
|
|
}
|