SMSUtils:短信服务
package com.enterprise.utils;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;
public class SMSUtils {
public static final String VALIDATE_CODE = "SMS_159620392";
public static final String ORDER_NOTICE = "SMS_159771588";
public static void sendShortMessage(String templateCode,String phoneNumbers,String param) throws ClientException{
System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
System.setProperty("sun.net.client.defaultReadTimeout", "10000");
final String product = "Dysmsapi";
final String domain = "dysmsapi.aliyuncs.com";
final String accessKeyId = "accessKeyId";
final String accessKeySecret = "accessKeySecret";
IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
IAcsClient acsClient = new DefaultAcsClient(profile);
SendSmsRequest request = new SendSmsRequest();
request.setMethod(MethodType.POST);
request.setPhoneNumbers(phoneNumbers);
request.setSignName("传智健康");
request.setTemplateCode(templateCode);
request.setTemplateParam("{\"code\":\""+param+"\"}");
SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
if (sendSmsResponse.getCode() != null && sendSmsResponse.getCode().equals("OK")) {
System.out.println("请求成功");
}
}
}
ValidateCodeUtils工具类:产生验证码
package com.enterprise.utils;
import java.util.Random;
public class ValidateCodeUtils {
public static Integer generateValidateCode(int length){
Integer code =null;
if(length == 4){
code = new Random().nextInt(9999);
if(code < 1000){
code = code + 1000;
}
}else if(length == 6){
code = new Random().nextInt(999999);
if(code < 100000){
code = code + 100000;
}
}else{
throw new RuntimeException("只能生成4位或6位数字验证码");
}
return code;
}
public static String genUUID(int length){
StringBuilder sb = new StringBuilder();
SecureRandom random = new SecureRandom();
SecureRandom randomData = new SecureRandom();
int data;
for(int i=0;i<length;i++){
int index = random.nextInt(3);
switch (index){
case 0:
data = randomData.nextInt(10);
sb.append(data);
break;
case 1:
data = randomData.nextInt(26)+65;
sb.append((char) data);
break;
case 2:
data = randomData.nextInt(26)+97;
sb.append((char) data);
break;
default:
break;
}
}
return sb.toString();
}
}