Kaynağa Gözat

message 中消息发送失败时向 bntweb 发送通知

reghao 1 yıl önce
ebeveyn
işleme
68d2363faa

+ 4 - 0
message/message-service/src/main/java/cn/reghao/tnb/message/app/rpc/EmailAccountServiceImpl.java

@@ -108,6 +108,10 @@ public class EmailAccountServiceImpl implements EmailAccountService {
     @Override
     public EmailDto getEmailSender() {
         EmailAccount emailAccount = emailAccountMapper.findDefaultSender();
+        if (emailAccount == null) {
+            return null;
+        }
+
         return getEmailDto(emailAccount);
     }
 

+ 11 - 2
message/message-service/src/main/java/cn/reghao/tnb/message/app/service/MessageConsumer.java

@@ -1,11 +1,14 @@
 package cn.reghao.tnb.message.app.service;
 
+import cn.reghao.bnt.admin.api.dto.AdminMessage;
+import cn.reghao.bnt.admin.api.iface.AdminService;
 import cn.reghao.tnb.message.api.constant.NotifyType;
 import cn.reghao.tnb.message.api.dto.msg.BaseMessage;
 import cn.reghao.tnb.message.api.dto.msg.LoginMessage;
 import cn.reghao.tnb.message.api.dto.msg.VerifyMessage;
 import cn.reghao.tnb.message.app.service.notifier.email.EmailMsg;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.stereotype.Service;
 
 /**
@@ -15,6 +18,8 @@ import org.springframework.stereotype.Service;
 @Slf4j
 @Service
 public class MessageConsumer {
+    @DubboReference(check = false, retries = 0)
+    private AdminService adminService;
     private final NotifyService notifyService;
 
     public MessageConsumer(NotifyService notifyService) {
@@ -32,7 +37,9 @@ public class MessageConsumer {
                 EmailMsg emailMsg = new EmailMsg(subject, content);
                 notifyService.notify(receiver, emailMsg);
             } else if (notifyType == NotifyType.mobile.getValue()) {
-                log.info("短信消息尚未实现");
+                String errMsg = "短信消息尚未实现";
+                AdminMessage adminMessage = new AdminMessage(2, errMsg);
+                adminService.sendAdminMessage(adminMessage);
             }
         } else if (baseMessage instanceof VerifyMessage) {
             VerifyMessage verifyMessage = (VerifyMessage) baseMessage;
@@ -42,7 +49,9 @@ public class MessageConsumer {
                 EmailMsg emailMsg = new EmailMsg(verifyMessage.getTitle(), verifyMessage.getContent());
                 notifyService.notify(receiver, emailMsg);
             } else if (notifyType == NotifyType.mobile.getValue()) {
-                log.info("短信验证码尚未实现");
+                String errMsg = "短信验证码尚未实现";
+                AdminMessage adminMessage = new AdminMessage(2, errMsg);
+                adminService.sendAdminMessage(adminMessage);
             }
         }
     }