| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- package jnpf.util.message;
- import com.aliyun.dysmsapi20170525.Client;
- import com.aliyun.dysmsapi20170525.models.*;
- import com.aliyun.teaopenapi.models.*;
- import jnpf.util.JsonUtil;
- import jnpf.util.ParameterUtil;
- import jnpf.util.StringUtil;
- import lombok.extern.slf4j.Slf4j;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- /**
- * 阿里云发送短信
- *
- * @版本: V3.2.0
- * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
- * @作者: JNPF开发平台组
- * @日期: 2021/4/21 11:45
- */
- @Slf4j
- public class SmsAliYunUtil {
- /**
- * 使用AK&SK初始化账号Client
- *
- * @param accessKeyId
- * @param accessKeySecret
- * @param endpoint
- * @return Client
- */
- private static Client createClient(String accessKeyId, String accessKeySecret, String endpoint) {
- try {
- Config config = new Config()
- // 您的AccessKey ID
- .setAccessKeyId(accessKeyId)
- // 您的AccessKey Secret
- .setAccessKeySecret(accessKeySecret);
- // 访问的域名
- config.endpoint = endpoint;
- return new Client(config);
- } catch (Exception e) {
- log.error("创建阿里云短信客户端错误:" + e.getMessage());
- }
- return null;
- }
- /**
- * 查询短信模板详情
- *
- * @param accessKeyId
- * @param accessKeySecret
- * @param endpoint
- * @param templateId
- */
- public static List<String> querySmsTemplateRequest(String accessKeyId, String accessKeySecret, String endpoint, String templateId) {
- try {
- Client client = createClient(accessKeyId, accessKeySecret, endpoint);
- QuerySmsTemplateRequest querySmsTemplateRequest = new QuerySmsTemplateRequest()
- .setTemplateCode(templateId);
- QuerySmsTemplateResponse querySmsTemplateResponse = client.querySmsTemplate(querySmsTemplateRequest);
- String templateContent = querySmsTemplateResponse.getBody().templateContent;
- if (StringUtil.isNotEmpty(templateContent)) {
- List<String> list = new ArrayList<>();
- ParameterUtil.parse("${", "}", templateContent, list);
- return list;
- } else {
- return null;
- }
- } catch (Exception e) {
- log.error("查询阿里云短信模板错误:" + e.getMessage());
- }
- return null;
- }
- /**
- * 查询短信模板详情
- *
- * @param accessKeyId
- * @param accessKeySecret
- * @param endpoint
- * @param templateId
- */
- public static String querySmsTemplateContent(String accessKeyId, String accessKeySecret, String endpoint, String templateId) {
- try {
- Client client = createClient(accessKeyId, accessKeySecret, endpoint);
- QuerySmsTemplateRequest querySmsTemplateRequest = new QuerySmsTemplateRequest()
- .setTemplateCode(templateId);
- QuerySmsTemplateResponse querySmsTemplateResponse = client.querySmsTemplate(querySmsTemplateRequest);
- String templateContent = querySmsTemplateResponse.getBody().templateContent;
- if (StringUtil.isNotEmpty(templateContent)) {
- return templateContent;
- } else {
- return null;
- }
- } catch (Exception e) {
- log.error("查询阿里云短信模板错误:" + e.getMessage());
- }
- return null;
- }
- /**
- * 发送短信
- *
- * @param accessKeyId
- * @param accessKeySecret
- * @param endpoint
- * @param phoneNumbers
- * @param signContent
- * @param templateId
- * @param map
- * @return
- */
- public static String sentSms(String accessKeyId, String accessKeySecret, String endpoint, String phoneNumbers, String signContent, String templateId, Map<String, Object> map) {
- // 复制代码运行请自行打印 API 的返回值
- try {
- Client client = createClient(accessKeyId, accessKeySecret, endpoint);
- SendSmsRequest sendSmsRequest = new SendSmsRequest();
- // 接收者的号码
- sendSmsRequest.setPhoneNumbers(phoneNumbers);
- // 签名
- sendSmsRequest.setSignName(signContent);
- // 模板id
- sendSmsRequest.setTemplateCode(templateId);
- // 模板参数
- sendSmsRequest.setTemplateParam(JsonUtil.getObjectToString(map));
- SendSmsResponse sendSmsResponse = client.sendSms(sendSmsRequest);
- if (!"Ok".equalsIgnoreCase(sendSmsResponse.body.code)) {
- log.error("发送短信失败:" + sendSmsResponse.getBody().message);
- return "发送短信失败:" + sendSmsResponse.getBody().message;
- }
- return "Ok";
- } catch (Exception e) {
- log.error("发送短信失败:" + e.getMessage());
- return "发送短信失败:" + e.getMessage();
- }
- // return null;
- }
- }
|