package com.walker.push.alidy;
|
|
import com.aliyun.auth.credentials.Credential;
|
import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
|
import com.aliyun.sdk.service.dysmsapi20170525.AsyncClient;
|
import com.aliyun.sdk.service.dysmsapi20170525.models.SendSmsRequest;
|
import com.aliyun.sdk.service.dysmsapi20170525.models.SendSmsResponse;
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
import com.walker.infrastructure.utils.JsonUtils;
|
import com.walker.push.PushResult;
|
import com.walker.push.PushStatusListener;
|
import com.walker.push.SmsMessage;
|
import com.walker.push.util.PushUtils;
|
import darabonba.core.client.ClientOverrideConfiguration;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
import java.util.concurrent.CompletableFuture;
|
|
public class SmsDemo {
|
|
public static void main(String[] args) throws Exception {
|
// test01();
|
// test02();
|
}
|
|
private static void test02() throws Exception{
|
PushStatusListener pushStatusListener = new DefaultPushListener();
|
DefaultSmsPush smsPush = new DefaultSmsPush();
|
smsPush.setPushStatusListener(pushStatusListener);
|
smsPush.setAccessKeyId("LTAI5tEATHGRi6TYJ2WEJ4SB");
|
smsPush.setAccessKeySecret("gmuZX1MRU9gltvR1ckGhvbPFhCPqKS");
|
smsPush.setRegion("cn-hangzhou");
|
smsPush.setSignName("河南省正开能源有限公司");
|
smsPush.startup();
|
|
Map<String, String> param = new HashMap<>(2);
|
param.put("code", "0098");
|
// ObjectNode param = new ObjectNode();
|
|
SmsMessage smsMessage = new SmsMessage();
|
smsMessage.setTemplateId("SMS_238211185");
|
smsMessage.setTemplateParam(param);
|
// smsMessage.setMobileList();
|
|
PushResult pushResult = smsPush.push(PushUtils
|
.acquireSmsNotification("发送验证码", JsonUtils.objectToJsonString(smsMessage), "0", "supervisor"));
|
System.out.println("推送结果 = " + pushResult);
|
}
|
|
private static void test01() throws Exception{
|
StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
|
.accessKeyId("LTAI5tEATHGRi6TYJ2WEJ4SB")
|
.accessKeySecret("gmuZX1MRU9gltvR1ckGhvbPFhCPqKS")
|
//.securityToken("<your-token>") // use STS token
|
.build());
|
|
AsyncClient client = AsyncClient.builder()
|
.region("cn-hangzhou") // Region ID
|
//.httpClient(httpClient) // Use the configured HttpClient, otherwise use the default HttpClient (Apache HttpClient)
|
.credentialsProvider(provider)
|
//.serviceConfiguration(Configuration.create()) // Service-level configuration
|
// Client-level configuration rewrite, can set Endpoint, Http request parameters, etc.
|
.overrideConfiguration(
|
ClientOverrideConfiguration.create().setEndpointOverride("dysmsapi.aliyuncs.com")
|
//.setConnectTimeout(Duration.ofSeconds(30))
|
)
|
.build();
|
|
//初始化ascClient,暂时不支持多region(请勿修改)
|
// IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
|
|
String sms_code = "1122";
|
|
SendSmsRequest sendSmsRequest = SendSmsRequest.builder()
|
.phoneNumbers("13838277463")
|
.signName("河南省正开能源有限公司")
|
// Request-level configuration rewrite, can set Http request parameters, etc.
|
// .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders()))
|
.templateCode("SMS_238211185")
|
.templateParam("{\"code\":\"" + sms_code + "\"}")
|
.build();
|
|
// Asynchronously get the return value of the API request
|
CompletableFuture<SendSmsResponse> response = client.sendSms(sendSmsRequest);
|
SendSmsResponse resp = response.get();
|
System.out.println(JsonUtils.objectToJsonString(resp));
|
}
|
}
|