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

图片

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

基于以上的需求,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/

图片

图片

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

 

 

优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/4580203/blog/5577455

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。