您的位置:  首页 > 技术杂谈 > 正文

干货分享 | HZERO系列组件之消息管理组件,满足您的多种发送需求

2022-09-14 12:00 https://my.oschina.net/u/4580203/blog/5577455 汉得数字平台 次阅读 条评论

图片

在项目实施过程中,经常会出现以下需求,需要发送短信邮件或者站内消息提醒给到对应的代办人,或者系统中某些数据到期需要自动发送消息,比如协议到期了,需要自动发送消息去提醒用户协议到期了。

基于以上的需求,HZERO提供的消息发送组件,能通过配置及简单的代码实现消息发送的功能,从而满足我们的需求

 

组件概述

消息服务支持短信、邮箱、站内消息、企业微信等消息发送,并能够灵活管理消息模板和对接云平台支持的微服务。

组件坐标

<dependency>    <groupId>org.hzero</groupId>    <artifactId>hzero-message-saas</artifactId></dependency>

组件架构图

图片

 

站内消息发送快速入门

下面以一个简单的站内消息发送配置及开发例子,带您快速入门。

短信插件

消息服务的短信服务需要依赖插件,否则短信无法发送。

可添加的插件有阿里云、百度云、腾讯云三种。

  • 阿里云

<dependency>   <groupId>org.hzero.starter</groupId> <artifactId>hzero-starter-sms-aliyun</artifactId></dependency>
  • 百度云

<dependency>   <groupId>org.hzero.starter</groupId>   <artifactId>hzero-starter-sms-baidu</artifactId></dependency>
  • 腾讯云

<dependency>   <groupId>org.hzero.starter</groupId>  <artifactId>hzero-starter-sms-qcloud</artifactId></dependency>

消息模板

消息模板用于定义及管理消息发送使用的消息模板,便于用户直接使用模板发送不同类型的消息。

路径:消息管理->消息模板

图片

消息发送配置

通过配置及管理关联消息发送,关联模板和发送服务器。关联成功后可测试发送消息

路径:消息管理->消息发送配置

图片

消息接收配置

配置用户接收消息的默认形式,用户可在个人中心的接收配置选择具体的接收形式。

图片

接收者配置

动态选择消息接收的用户或用户群体。

图片

代码调用

@Servicepublic class MessageServiceImpl implements MessageService {    private final MessageClient messageClient;    @Autowired    public MessageServiceImpl(MessageClient messageClient) {        this.messageClient = messageClient;    }    @Override    public void sendWebMessage() {        long tenantId = 0L;        String messageTemplateCode = "HWFP.REMIND";        String lang = "zh_CN";        Receiver receiver = new Receiver().setUserId(1L).setTargetUserTenantId(0L);        Map<String, String> args = new HashMap<>(16);        args.put("processName", "测试消息");        args.put("processDescription", "测试消息");        // 同步发送站内消息        messageClient.sendWebMessage(tenantId, messageTemplateCode, lang, Collections.singletonList(receiver), args);        // 异步发送站内消息        messageClient.async().sendWebMessage(tenantId, messageTemplateCode, lang, Collections.singletonList(receiver), args);    }}

 

常用API调用参考

发送短信​​​​​​​​​​​​​​

@Servicepublic class MessageServiceImpl implements MessageService {    private final MessageClient messageClient;    @Autowired    public MessageServiceImpl(MessageClient messageClient) {        this.messageClient = messageClient;    }    @Override    public void sendSms() {        long tenantId = 0L;        String serverCode = "HZERO";        String messageTemplateCode = "HIAM.CAPTCHA";        Receiver receiver = new Receiver().setIdd("+86").setPhone("18866886688");        Map<String, String> args = new HashMap<>(16);        args.put("captcha", "123456");        // 同步发送站内消息        messageClient.sendSms(tenantId, serverCode, messageTemplateCode, Collections.singletonList(receiver), args);        // 异步发送站内消息        messageClient.async().sendSms(tenantId, serverCode, messageTemplateCode, Collections.singletonList(receiver), args);    }}

 

发送邮件​​​​​​​​​​​​​​

@Servicepublic class MessageServiceImpl implements MessageService {    private final MessageClient messageClient;    @Autowired    public MessageServiceImpl(MessageClient messageClient) {        this.messageClient = messageClient;    }    @Override    public void sendEmail() {        long tenantId = 0L;        String serverCode = "HZERO";        String messageTemplateCode = "HWFP.REMIND";        Receiver receiver = new Receiver().setEmail("hzero@hand-china.com");        Map<String, String> args = new HashMap<>(16);        args.put("processName", "测试消息");        args.put("processDescription", "测试消息");        // 同步发送站内消息        messageClient.sendEmail(tenantId, serverCode, messageTemplateCode, Collections.singletonList(receiver), args);        // 异步发送站内消息        messageClient.async().sendEmail(tenantId, serverCode, messageTemplateCode, Collections.singletonList(receiver), args);    }}

 

总之,消息管理组件是项目上常用的一个组件,通过它我们能够简单配置实现以下功能:

  • 消息发送的功能;

  • 消息监控功能,监控消息的发送成功和失败;

  • 失败消息的重试;

  • 消息模自定义,通过程序拓展,实现动态显示的效果。

 

联系我们

产品试用请登录开放平台。请在 PC 端打开:

https://open.hand-china.com/market-home/trial-center/

产品详情请登录开放平台:

https://open.hand-china.com/document-center/

如有疑问登录开放平台提单反馈

https://open.hand-china.com/

图片

图片

▲ 更多精彩内容,扫码关注 “四海汉得” 公众号

 

 

展开阅读全文
  • 0
    感动
  • 0
    路过
  • 0
    高兴
  • 0
    难过
  • 0
    搞笑
  • 0
    无聊
  • 0
    愤怒
  • 0
    同情
热度排行
友情链接