短信服务核心组件
一、简介
1.1 概述
HZERO短信服务的核心组件,所有短信服务类型都需要添加的基础依赖
1.2 组件坐标
<dependency>
<groupId>org.hzero.starter</groupId>
<artifactId>hzero-starter-sms-core</artifactId>
<version>${hzero.starter.version}</version>
</dependency>
1.3 开发指导
1.3.2 短信服务抽象类
- 所有短信服务类型,都要继承的抽象方法
/**
* 短信发送方法
*
* @author shuangfei.zhu@hand-china.com 2019/12/18 16:54
*/
public abstract class SmsService {
/**
* 获取服务类型
*
* @return 服务类型
*/
public abstract String serverType();
/**
* 短信发送
*
* @param receiverAddressList 接收人地址
* @param smsConfig 短信配置
* @param message 消息内容
* @param args 参数
*/
public abstract void smsSend(List<SmsReceiver> receiverAddressList, SmsConfig smsConfig, SmsMessage message, Map<String, String> args);
}
1.4 自定义开发
第一步
添加HZERO短信服务核心组件依赖
<dependency>
<groupId>org.hzero.starter</groupId>
<artifactId>hzero-starter-sms-core</artifactId>
<version>${hzero.starter.version}</version>
</dependency>
添加需要添加自定义类型的SDK,例如阿里云
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-dysmsapi</artifactId>
<version>1.1.0</version>
</dependency>
第二步
定义短信服务实现类
- 此类继承
org.hzero.starter.sms.service.SmsService
抽象类,实现抽象方法。
/**
* 获取服务类型
*
* @return 服务类型
*/
public abstract String serverType();
/**
* 短信发送
*
* @param receiverAddressList 接收人地址
* @param smsConfig 短信配置
* @param message 消息内容
* @param args 参数
*/
public abstract void smsSend(List<SmsReceiver> receiverAddressList, SmsConfig smsConfig, SmsMessage message, Map<String, String> args);
-
加上
@Component
注解注意:默认扫描路径
org.hzero.starter.sms
,如果自定义的路径不同,则需要手动添加扫描路径。
@Component
public class AliyunSmsServiceImpl extends SmsService {
@Override
public String serverType() {
// 自定义服务类型,与值集HMSG.SMS_SERVER_TYPE的值对应
return "ALIYUN";
}
@Override
public void smsSend(List<SmsReceiver> receiverAddressList, SmsConfig smsConfig, SmsMessage message, Map<String, String> args) {
}
}