发送短信
百度已收录

云程提供了发送短信的接口,配置完成后,可直接调用相应接口,完成发送短信,也可采用采用定时异步机制发送短信,定时任务触发时间默认为1分钟。

一、短信配置

1、购买短信服务,目前阿里、华为、腾讯均有这样的在线服务,可以登录官方网站查看详细购买说明,费用大约3-5分钱/条。以下内容以阿里云短信服务为例说明。

2、按照阿里云官方说明配置短信模板、设置短信密钥。

3、在云程平台里配置短信密钥和短信模板

打开application-xxx.yml文件

#短信秘钥
sms:
accessKeyId: LTAI4G2MnLvqQDPrMSnQMYLj
accessKeySecret: NlWmEtw6eQkvy9S77lEWBRUKkgqKeL

将短信模板添加到DySmsEnum类中

LOGIN_TEMPLATE_CODE(“SMS_198670501″,”公司名称XXX”,”code”),
FORGET_PASSWORD_TEMPLATE_CODE(“SMS_198670782”,”公司名称XXX “,”code”),
REGISTER_TEMPLATE_CODE(“SMS_198690456”,”公司名称XXX “,”code”),

二、短信发送

1、直接调用接口发送短信

第一步、引入平台短信sdk包:

<dependency>
<groupId>com.yuncheng</groupId>
<artifactId>yuncheng-framework-sms</artifactId>
</dependency>

第二步、注入发送短信API接口

@Resource
private SmsAPI smsAPI;

调用发送短信接口

String phone = “12810500087”JSONObject templateParam = new JSONObject();
templateParam.put(“code”, “1234”);  //要跟短信模板里变量对应String templateCode = ” SMS_198670501″ //短信模板codesmsAPI.sendSms(phone, templateParam, templateCode);

2、异步定时任务发送短信

有些短信发送对及时性要求不高,比如:任务提醒、工资到账等,可以采用异步定时方式发送。

//引入接口对象

@Resource
private SystemAPI systemAPI;

//发送邮件的代码示例

String templateCode = “SMS_198670501”; //对应模板标识Map<String, String> paramMap = new HashMap< String, String >();paramMap.put(“userName”,”张三”); // userName对应SMS_198670501模板里的变量标识paramMap.put(“taskTitle”,”任务标题”); // taskTitle对应SMS_198670501模板里的变量标识String sentTo = “13710500087”;systemAPI. sendSmsWithTemplate(templateCode, paramMap, sentTo);