package com.doumee.core.utils.aliyun; import com.alibaba.fastjson.JSONObject; import com.aliyuncs.CommonRequest; import com.aliyuncs.CommonResponse; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.http.MethodType; import com.aliyuncs.profile.DefaultProfile; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.utils.Constants; import java.security.SecureRandom; import java.util.Map; /** * 阿里云 SMS 短信工具类 * @author RenKang */ public class ALiYunSmSUtil { public static CommonResponse sendMessage(String phone, Map codeMap) { /** * 连接阿里云: * * 三个参数: * regionId 不要动,默认使用官方的 * accessKeyId 自己的用户accessKeyId * accessSecret 自己的用户accessSecret */ DefaultProfile profile = DefaultProfile.getProfile( "cn-hangzhou", "LTAI5tP56bE38bWvqqfSRkCQ", "lXcIyDrc9K01x3FjSgZqcKlrHwsE8b"); IAcsClient client = new DefaultAcsClient(profile); // 构建请求: CommonRequest request = new CommonRequest(); request.setSysMethod(MethodType.POST); request.setSysDomain("dysmsapi.aliyuncs.com"); request.setSysVersion("2017-05-25"); request.setSysAction("SendSms"); // 自定义参数: // 手机号 request.putQueryParameter("PhoneNumbers", phone); // 短信签名 request.putQueryParameter("SignName", "豆米科技"); // 短信模版CODE request.putQueryParameter("TemplateCode", "SMS_243960729"); // 构建短信验证码 request.putQueryParameter("TemplateParam", JSONObject.toJSONString(codeMap)); try { CommonResponse response = client.getCommonResponse(request); return response; }catch (Exception e) { e.printStackTrace(); } throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"发送失败,请联系管理员"); } }