k94314517
2024-10-11 112db9dc43275c991e824eba1abfeb37d9bab3a1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package com.doumee.core.utils.aliyun;
 
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.utils.Constants;
 
import java.security.SecureRandom;
import java.util.Map;
 
/**
 * 阿里云 SMS 短信工具类
 * @author RenKang
 */
public class ALiYunSmSUtil {
 
    public static CommonResponse sendMessage(String phone, Map<String, Object> codeMap) {
        /**
         * 连接阿里云:
         *
         * 三个参数:
         * regionId 不要动,默认使用官方的
         * accessKeyId 自己的用户accessKeyId
         * accessSecret 自己的用户accessSecret
         */
        DefaultProfile profile = DefaultProfile.getProfile(
                "cn-hangzhou", "LTAI5tP56bE38bWvqqfSRkCQ", "lXcIyDrc9K01x3FjSgZqcKlrHwsE8b");
        IAcsClient client = new DefaultAcsClient(profile);
        // 构建请求:
        CommonRequest request = new CommonRequest();
        request.setSysMethod(MethodType.POST);
        request.setSysDomain("dysmsapi.aliyuncs.com");
        request.setSysVersion("2017-05-25");
        request.setSysAction("SendSms");
        // 自定义参数:
        // 手机号
        request.putQueryParameter("PhoneNumbers", phone);
        // 短信签名
        request.putQueryParameter("SignName", "豆米科技");
        // 短信模版CODE
        request.putQueryParameter("TemplateCode", "SMS_243960729");
        // 构建短信验证码
        request.putQueryParameter("TemplateParam", JSONObject.toJSONString(codeMap));
        try {
            CommonResponse response = client.getCommonResponse(request);
            return response;
        }catch (Exception e) {
            e.printStackTrace();
        }
        throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"发送失败,请联系管理员");
    }
 
 
 
}