package cc.mrbird.febs.common.utils;
|
|
import cn.hutool.core.date.DatePattern;
|
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.XmlUtil;
|
import cn.hutool.crypto.SecureUtil;
|
import cn.hutool.http.HttpUtil;
|
import cn.hutool.json.JSONObject;
|
import cn.hutool.json.JSONUtil;
|
import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
|
import lombok.extern.slf4j.Slf4j;
|
import com.aliyun.tea.*;
|
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
/**
|
* @author wzy
|
* @date 2021-03-25
|
**/
|
@Slf4j
|
public class ZzSmsSend {
|
|
public static com.aliyun.dysmsapi20170525.Client createClient(String accessKeyId, String accessKeySecret) throws Exception {
|
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
|
// 您的 AccessKey ID
|
.setAccessKeyId(accessKeyId)
|
// 您的 AccessKey Secret
|
.setAccessKeySecret(accessKeySecret);
|
// 访问的域名
|
config.endpoint = "dysmsapi.aliyuncs.com";
|
return new com.aliyun.dysmsapi20170525.Client(config);
|
}
|
|
private static final String SIGNNAME = "汇达农业";
|
private static final String TEMPLATECODE = "SMS_251041117";
|
public static boolean sendALiYun(String phone,String TemplateParam){
|
com.aliyun.dysmsapi20170525.Client client = null;
|
try {
|
client = createClient("LTAI4GBuydqbJ5bTsDP97Lpd", "vbCjQtPxABWjqtUlQfzjlA0qAY96fh");
|
} catch (Exception e) {
|
e.printStackTrace();
|
return false;
|
}
|
com.aliyun.dysmsapi20170525.models.SendSmsRequest sendSmsRequest = new com.aliyun.dysmsapi20170525.models.SendSmsRequest()
|
// .setSignName("阿里云短信测试")
|
.setSignName(SIGNNAME)
|
// .setTemplateCode("SMS_154950909")
|
.setTemplateCode(TEMPLATECODE)
|
// .setPhoneNumbers("15274802129")
|
.setPhoneNumbers(phone)
|
// .setTemplateParam("{\"code\":\"1234\"}");
|
.setTemplateParam("{\"code\":\""+TemplateParam+"\"}");
|
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
|
try {
|
// 复制代码运行请自行打印 API 的返回值
|
SendSmsResponse sendSmsResponse = client.sendSmsWithOptions(sendSmsRequest, runtime);
|
log.info("短信发送:{}", sendSmsResponse);
|
JSONObject jsonObject = JSONUtil.parseObj(sendSmsResponse);
|
System.out.print(jsonObject);
|
if(200 == sendSmsResponse.getStatusCode()) {
|
return true;
|
}else{
|
return false;
|
}
|
} catch (TeaException error) {
|
// 如有需要,请打印 error
|
com.aliyun.teautil.Common.assertAsString(error.message);
|
} catch (Exception _error) {
|
TeaException error = new TeaException(_error.getMessage(), _error);
|
// 如有需要,请打印 error
|
com.aliyun.teautil.Common.assertAsString(error.message);
|
}
|
return false;
|
|
}
|
|
private static final String URL = "http://zzsms365.com/v2sms.aspx?action=send";
|
|
private static final String USER_ID = "1654";
|
private static final String ACCOUNT = "1369815429";
|
private static final String PWD = "1369815429";
|
|
public static boolean sendVerifyCode(String telphone, String code, int time) {
|
String content = "【美澳】您的验证码是{},请在{}分钟内输入,请勿泄露给他人,如非本人操作,请及时修改密码。";
|
return send(telphone, StrUtil.format(content, code, time));
|
}
|
|
private static boolean send(String telphone, String content) {
|
Map<String, Object> data = new HashMap<>();
|
Long time = System.currentTimeMillis();
|
data.put("userid", USER_ID);
|
data.put("timestamp", time);
|
data.put("mobile", telphone);
|
String signStr = ACCOUNT + PWD + time;
|
String sign = SecureUtil.md5(signStr);
|
data.put("sign", sign);
|
data.put("content", content);
|
|
String response = HttpUtil.post(URL, data);
|
log.info("短信发送:{}", response);
|
if ("Success".equals(XmlUtil.xmlToMap(response).get("returnstatus"))) {
|
return true;
|
} else {
|
// throw new GlobalException((String) XmlUtil.xmlToMap(response).get("message"));
|
return false;
|
}
|
}
|
|
public static void main(String[] args) {
|
// Map<String, Object> data = new HashMap<>();
|
// Long time = System.currentTimeMillis();
|
// data.put("userid", USER_ID);
|
// data.put("timestamp", time);
|
// data.put("mobile", "15773002834");
|
// String signStr = ACCOUNT + PWD + time;
|
// String sign = SecureUtil.md5(signStr);
|
// data.put("sign", sign);
|
// data.put("content", "【HiBit】尊敬的用户,恭喜您于2010-03-25有一笔充值已成功到账,充值数量为10。");
|
//
|
// String post = HttpUtil.post(URL, data);
|
// System.out.println(post);
|
boolean b = sendALiYun( "15274802129", "123456");
|
System.out.println(b);
|
}
|
}
|