sms短信API 验证码文本消息
sendService
wechat企业微信API 机器人通知
10a.成功
ack失败
消息队列
6.消费消息
contains
ack成功
Email
Handler
<<interface>>BusinessProcess<T>
+process(ProcessContext<T>):void
uses
message-web-api服务端API接口消息发送状态查询手动重试
msgLogService
消息中心功能模块
PipelineConfig
-SendPreCheckAction sendPreCheckAction-SendAssembleAction sendAssembleAction-SendAfterCheckAction sendAfterCheckAction-SendMqAction sendMqAction
+commonSendTemplate():ProcessTemplate
5.返回traceid
creates
业务执行器接口
三方服务
ProcessTemplate
-List<BusinessProcess> processList
+getProcessList():List<BusinessProcess>-setProcessList(List<BusinessProcess>):void
SendPreCheckAction
+process(ProcessContext<SendTaskModel>):void
message-service参数校验消息组装 发送mq消息落库返回响应
1.消息发送
三方服务封装
WeChat
RabbitMQ
WhatsAPP
SendAssembleAction
-MessageTemplateDao messageTemplateDao
SendAfterCheckAction
8.消息控制处理
......
配置不同业务和渠道类型的处理链路
4.发送到mq
3.参数校验、消息组装
SendServiceImpl
-ProcessController processController
+send(SendRequest):SendResponse
web
Redis
处理层
责任链流程控制器
ProcessContext<T>
-String code-T ProcessModel-Boolean needBreak
+getCode():String+getProcessModel():ProcessModel+getNeedBreak():Boolean
基础服务
9.第三方调用
web层
whatsappwhatsappAPI 验证码文本
message-handlermq消费消息处理去重等 消息状态变更消息发送
业务层
ProcessController
+process(ProcessContext):processContext-preCheck(ProcessContext):void
失败重试
MySQL
mail邮件API 模版消息附件
10b.失败
<<interface>>SendService
消息发送流程
message-service-admin模版管理应用管理配置管理
message-web-admin管理端API接口模版管理应用管理配置管理
SendMqAction
- SendMqService sendMqService- String topic
业务执行器:包括整条的业务逻辑执行链路
11b.更新状态
消息中心业务逻辑层UML
SendTaskModel
-Long messageTemplateId-List<MessageParam> messageParamList-List<TaskInfo> taskInfo
+getMessageTemplateId():Long+getMessageParamList():List<MessageParam>+getTaskInfo():List<TaskInfo>