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 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("") // 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 response = client.sendSms(sendSmsRequest); SendSmsResponse resp = response.get(); System.out.println(JsonUtils.objectToJsonString(resp)); } }