Newer
Older
smartwell_demos / src / main / java / com / casic / util / SendBatchSmsUtil.java
package com.casic.util;
// This file is auto-generated, don't edit it. Thanks.

import com.aliyun.auth.credentials.Credential;
import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
import com.aliyun.sdk.service.dysmsapi20170525.models.*;
import com.aliyun.sdk.service.dysmsapi20170525.*;
import com.casic.config.AliYunConfig;
import com.google.gson.Gson;
import darabonba.core.client.ClientOverrideConfiguration;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.util.concurrent.CompletableFuture;

@AllArgsConstructor
@Component
@Slf4j
public class SendBatchSmsUtil {

    private AliYunConfig aliYunConfig;

    public void sendMsg(String phoneJson, String msgJson) {
        StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
                .accessKeyId(aliYunConfig.getKey())
                .accessKeySecret(aliYunConfig.getScrect())
                .build());

        AsyncClient client = AsyncClient.builder()
                .region("cn-shanghai") // Region ID
                .credentialsProvider(provider)
                .overrideConfiguration(
                        ClientOverrideConfiguration.create()
                                .setEndpointOverride(aliYunConfig.getUrl())
                )
                .build();

        SendBatchSmsRequest sendBatchSmsRequest = SendBatchSmsRequest.builder()
                .phoneNumberJson(phoneJson)
                .signNameJson(aliYunConfig.getSignNameJson())
                .templateCode(aliYunConfig.getTemplateCode())
                .templateParamJson(msgJson)
                .build();

        CompletableFuture<SendBatchSmsResponse> response = client.sendBatchSms(sendBatchSmsRequest);
        try {
            SendBatchSmsResponse resp = response.get();
            System.out.println(new Gson().toJson(resp));
        } catch (Exception ex) {
            log.error("发送消息出现异常,手机号内容为{},信息内容为{}",phoneJson,msgJson,ex.getMessage());
        }finally {
            client.close();
        }
    }


//    public static void main(String [] args) throws Exception {
//
//        StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
//                .accessKeyId("LTAI5tDFNucQF2Bdy4fHgzrN")
//                .accessKeySecret("hZ22QQPxQue1G0R8Ty2bo6GimrLdoB")
//                .build());
//
//        AsyncClient client = AsyncClient.builder()
//                .region("cn-shanghai") // Region ID
//                .credentialsProvider(provider)
//                .overrideConfiguration(
//                        ClientOverrideConfiguration.create()
//                                .setEndpointOverride("dysmsapi.aliyuncs.com")
//                )
//                .build();
//
//        SendBatchSmsRequest sendBatchSmsRequest = SendBatchSmsRequest.builder()
//                .phoneNumberJson("[\"13651065090\"]")
//                .signNameJson("[\"阿里云短信测试\"]")
//                .templateCode("SMS_154950909")
//                .templateParamJson("[{\"code\":\"123456\"}]")
//                // Request-level configuration rewrite, can set Http request parameters, etc.
//                // .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders()))
//                .build();
//
//        CompletableFuture<SendBatchSmsResponse> response = client.sendBatchSms(sendBatchSmsRequest);
//        SendBatchSmsResponse resp = response.get();
//        System.out.println(new Gson().toJson(resp));
//        client.close();
//    }

}