Nestjs构建Certeasy证书自动化平台 - 业务实现(通知模块)

60 阅读2分钟

Certeasy

预览

摘要

本章介绍相关业务通知功能,通知类型设定,通知渠道设定,各渠道通知发送能力。

需求

在本系统中,例如证书签发、吊销和异常监控等,需要给用户下发消息通知,且是多渠道消息通知(邮件、钉钉、企微等)。需要构建一个统一的通知发送管理,因此需要单独构建一个通知模块。

app.certeasy.cn_notification.png

模块初始化

执行 NestJS CLI三件套

    nest g mo modules/notification
    nest g co modules/notification --no-spec
    nest g s modules/notification --no-spec

image.png

业务实现

  • 通知发送能力 triggerNotification

image.png

当操作触达,实现消息通知时,需要读取对应通知类型的相关 渠道 及包含用户默认 邮件 的通知方式,以保证最少有一个通知发送给用户。

用户也可直接配置通知类型是否启用

image.png

  • 消息发送队列

触发消息之后,获取到当前消息类型的渠道数据。渠道数据和类型数据压入队列

image.png

而后在队列处理器 notification.processor 中进行处理,按providerId 分发通知方式的实现

image.png

image.png

  • ......

更多代码请查看 certeasy_nest_open/src/modules/notification at main · CerteasyTeam/certeasy_nest_open (github.com)

系列文章

开源

联系

wechat: zuxcloud

Email: zuxing.xu@lettered.cn