com.aliyuncs.CommonRequest

Here are the examples of the java api com.aliyuncs.CommonRequest taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

61 Examples 7

19 Source : AliSmsService.java
with Apache License 2.0
from jackieonway

private void setSingleSmsParams(CommonRequest request, AliSmsRequest aliSmsRequest, String templateCode) {
    if (!StringUtils.hasText(templateCode)) {
        throw new IllegalArgumentException("param templateCode can not be null");
    }
    request.putQueryParameter("TemplateCode", templateCode);
    String[] phoneNumbers = aliSmsRequest.getPhoneNumbers();
    if (phoneNumbers == null) {
        throw new IllegalArgumentException("param phoneNumbers can not be null");
    }
    request.putQueryParameter(PHONE_NUMBERS, phoneNumbers[0]);
}

19 Source : DefaultAliSmsTemplate.java
with Apache License 2.0
from fast-family

@Override
public void sendSms(AliSmsEnreplacedy aliSmsEnreplacedy) {
    final IAcsClient acsClient = this.getAcsClient();
    final CommonRequest request = this.getAliSmsRequest(aliSmsEnreplacedy);
    final CommonResponse response;
    try {
        response = acsClient.getCommonResponse(request);
        this.parseResponse(response);
    } catch (ClientException | IOException e) {
        throw new AliSmsException(e);
    } finally {
        acsClient.shutdown();
    }
}

19 Source : SmsClient.java
with Apache License 2.0
from cn-src

/**
 * 批量发送短信.
 *
 * <p>
 * 批量发送短信接口,支持在一次请求中分别向多个不同的手机号码发送不同签名的短信。
 * 手机号码,签名,模板参数字段个数相同,一一对应,短信服务根据字段的顺序判断发往指定手机号码的签名。
 *
 * <p>
 * 如果您需要往多个手机号码中发送同样签名的短信,请使用 {@link #send(SmsTemplate)}。
 *
 * @param batchSmsTemplate 批量发送短信模板
 */
public void send(final BatchSmsTemplate batchSmsTemplate) {
    Objects.requireNonNull(batchSmsTemplate);
    checkBatchSmsTemplate(batchSmsTemplate);
    final CommonRequest request = new CommonRequest();
    request.setSysMethod(MethodType.POST);
    request.setSysDomain("dysmsapi.aliyuncs.com");
    request.setSysVersion("2017-05-25");
    request.setSysAction("SendBatchSms");
    request.putQueryParameter("PhoneNumberJson", this.gson.toJson(batchSmsTemplate.getPhoneNumbers()));
    request.putQueryParameter("SignNameJson", this.gson.toJson(batchSmsTemplate.getSignNames()));
    request.putQueryParameter("TemplateCode", batchSmsTemplate.getTemplateCode());
    request.putQueryParameter("TemplateParamJson", this.gson.toJson(batchSmsTemplate.getTemplateParams()));
    try {
        final CommonResponse response = this.acsClient.getCommonResponse(request);
        checkSmsResponse(response);
    } catch (final ClientException e) {
        throw new SmsException(e);
    }
}

19 Source : SmsClient.java
with Apache License 2.0
from cn-src

/**
 * 发送短信.
 *
 * @param smsTemplate 短信模板
 */
public void send(final SmsTemplate smsTemplate) {
    Objects.requireNonNull(smsTemplate);
    checkSmsTemplate(smsTemplate);
    final CommonRequest request = new CommonRequest();
    request.setSysMethod(MethodType.POST);
    request.setSysDomain("dysmsapi.aliyuncs.com");
    request.setSysVersion("2017-05-25");
    request.setSysAction("SendSms");
    request.putQueryParameter("PhoneNumbers", String.join(",", smsTemplate.getPhoneNumbers()));
    request.putQueryParameter("SignName", smsTemplate.getSignName());
    request.putQueryParameter("TemplateCode", smsTemplate.getTemplateCode());
    request.putQueryParameter("TemplateParam", Utils.toJsonStr(smsTemplate.getTemplateParam()));
    try {
        final CommonResponse response = this.acsClient.getCommonResponse(request);
        checkSmsResponse(response);
    } catch (final ClientException e) {
        throw new SmsException(e);
    }
}

19 Source : SmsHelper.java
with MIT License
from archine

/**
 * Query the record of sending the specified mobile phone number
 *
 * @param phone    Mobile phone number
 * @param sendDate Send date,Format for yyyy-MM-dd
 * @param page     Query page
 * @param row      No more than 50 pages per page
 * @return Query results
 */
public String findSendDetail(String phone, String sendDate, long page, long row) {
    if (row > 50) {
        throw new IllegalArgumentException("每页条数不能大于50");
    }
    CommonRequest request = new CommonRequest();
    request.setMethod(MethodType.POST);
    request.setDomain(DO_MAIN);
    request.setVersion(VERSION);
    request.setAction("QuerySendDetails");
    request.putQueryParameter("PhoneNumber", phone);
    request.putQueryParameter("SendDate", sendDate.replaceAll("-", ""));
    request.putQueryParameter("PageSize", String.valueOf(row));
    request.putQueryParameter("CurrentPage", String.valueOf(page));
    try {
        CommonResponse commonResponse = this.client.getCommonResponse(request);
        return commonResponse.getData();
    } catch (ClientException e) {
        throw new ToolsAliyunException(e.getMessage());
    }
}

19 Source : SmsHelper.java
with MIT License
from archine

/**
 * Send SMS
 *
 * @param phones       Mobile phone number, multiple with English commas separated, the maximum of 1000
 * @param templateCode SMS template code
 * @param signName     SMS sign name
 * @param param        The actual value of the SMS template variable
 * @return Send the receipt
 */
public String send(String phones, String templateCode, String signName, Map<String, ?> param) {
    CommonRequest request = new CommonRequest();
    request.setMethod(MethodType.POST);
    request.setDomain(DO_MAIN);
    request.setVersion(VERSION);
    request.setAction("sendSms");
    request.putQueryParameter("PhoneNumbers", phones);
    if (param != null) {
        request.putQueryParameter("TemplateParam", new Gson().toJson(param));
    }
    request.putQueryParameter("TemplateCode", templateCode);
    request.putQueryParameter("SignName", signName);
    try {
        CommonResponse response = this.client.getCommonResponse(request);
        return response.getData();
    } catch (ClientException e) {
        throw new ToolsAliyunException(e.getMessage());
    }
}

17 Source : AliSmsTemplate.java
with Apache License 2.0
from matevip

@Override
public boolean sendSms(@NonNull String phoneNumber, @NonNull String signName, @NonNull String templateCode, @NonNull String templateParam) {
    CommonRequest request = this.request();
    request.putQueryParameter("PhoneNumbers", phoneNumber);
    request.putQueryParameter("SignName", signName);
    request.putQueryParameter("TemplateCode", templateCode);
    request.putQueryParameter("TemplateParam", templateParam);
    try {
        CommonResponse response = this.getDefaultAcsClient().getCommonResponse(request);
        log.info(response.getData());
        return true;
    } catch (Exception e) {
        log.error("异常:{}", e);
    }
    return false;
}

17 Source : AliSmsService.java
with Apache License 2.0
from jackieonway

private CommonRequest setCommonRequest() {
    CommonRequest request = new CommonRequest();
    request.setSysMethod(MethodType.POST);
    request.setSysDomain(this.smsProperties.getDomain());
    request.setSysVersion(this.smsProperties.getVersion());
    return request;
}

17 Source : AliSmsService.java
with Apache License 2.0
from jackieonway

private void setMultiSmsParams(CommonRequest request, AliSmsRequest aliSmsRequest, String templateCode) {
    if (!StringUtils.hasText(templateCode)) {
        throw new IllegalArgumentException("param templateCode can not be null");
    }
    request.putQueryParameter("TemplateCode", templateCode);
    String[] phoneNumbers = aliSmsRequest.getPhoneNumbers();
    if (phoneNumbers == null) {
        throw new IllegalArgumentException("param phoneNumbers can not be null");
    }
    if (aliSmsRequest.getIsSendBatchSms()) {
        request.setSysAction("SendBatchSms");
        request.putQueryParameter(PHONE_NUMBERS, GsonUtils.gson2String(phoneNumbers));
    } else {
        request.setSysAction(SEND_SMS);
        StringBuilder stringBuilder = new StringBuilder();
        for (String phoneNumber : phoneNumbers) {
            stringBuilder.append(phoneNumber).append(",");
        }
        request.putQueryParameter(PHONE_NUMBERS, stringBuilder.substring(0, stringBuilder.length() - 1));
    }
}

16 Source : BoyingUserServiceImpl.java
with MIT License
from tongji4m3

@Override
public void generateAuthCode(String telephone) {
    // 简单生成6位验证码
    StringBuilder sb = new StringBuilder();
    Random random = new Random();
    for (int i = 0; i < 6; i++) {
        sb.append(random.nextInt(10));
    }
    // 为该手机号生成验证码
    boyingUserCacheService.setAuthCode(telephone, sb.toString());
    // 阿里云 短信服务代码
    DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "LTAI4G94MzD6ozcAAS3yq3zS", "xdeS40tkkA3zC3F7d8szDJ7fu1N3Ch");
    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("RegionId", "cn-hangzhou");
    request.putQueryParameter("PhoneNumbers", telephone);
    request.putQueryParameter("SignName", "博影娱乐票务平台");
    request.putQueryParameter("TemplateCode", "SMS_205120016");
    request.putQueryParameter("TemplateParam", "{\"code\":" + sb.toString() + "}");
    try {
        CommonResponse response = client.getCommonResponse(request);
        System.out.println(response.getData());
    } catch (ClientException e) {
        e.printStackTrace();
    }
}

16 Source : UserServiceImpl.java
with MIT License
from tongji4m3

@Override
public void generateAuthCode(String telephone) {
    // 简单生成6位验证码
    StringBuilder sb = new StringBuilder();
    Random random = new Random();
    for (int i = 0; i < 6; i++) {
        sb.append(random.nextInt(10));
    }
    // 为该手机号生成验证码
    userCacheService.setAuthCode(telephone, sb.toString());
    // 阿里云 短信服务代码
    DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "LTAI4G94MzD6ozcAAS3yq3zS", "xdeS40tkkA3zC3F7d8szDJ7fu1N3Ch");
    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("RegionId", "cn-hangzhou");
    request.putQueryParameter("PhoneNumbers", telephone);
    request.putQueryParameter("SignName", "博影娱乐票务平台");
    request.putQueryParameter("TemplateCode", "SMS_205120016");
    request.putQueryParameter("TemplateParam", "{\"code\":" + sb.toString() + "}");
    try {
        CommonResponse response = client.getCommonResponse(request);
        System.out.println(response.getData());
    } catch (ServerException e) {
        e.printStackTrace();
    } catch (ClientException e) {
        e.printStackTrace();
    }
}

16 Source : UserServiceImpl.java
with MIT License
from tongji4m3

@Override
public void generateAuthCode(String telephone) {
    StringBuilder sb = new StringBuilder();
    Random random = new Random();
    for (int i = 0; i < 6; i++) {
        sb.append(random.nextInt(10));
    }
    userCacheService.setAuthCode(telephone, sb.toString());
    DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "LTAI4G94MzD6ozcAAS3yq3zS", "xdeS40tkkA3zC3F7d8szDJ7fu1N3Ch");
    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("RegionId", "cn-hangzhou");
    request.putQueryParameter("PhoneNumbers", telephone);
    request.putQueryParameter("SignName", "博影娱乐票务平台");
    request.putQueryParameter("TemplateCode", "SMS_205120016");
    request.putQueryParameter("TemplateParam", "{\"code\":" + sb.toString() + "}");
    try {
        CommonResponse response = client.getCommonResponse(request);
        System.out.println(response.getData());
    } catch (ServerException e) {
        e.printStackTrace();
    } catch (ClientException e) {
        e.printStackTrace();
    }
}

15 Source : AliSmsService.java
with Apache License 2.0
from jackieonway

@Override
public Object sendBatchSms(@NonNull BaseRequest params) {
    replacedert.notNull(params, PARAM_CAN_NOT_BE_NULL);
    CommonRequest request = setCommonRequest();
    if (params instanceof AliSmsRequest) {
        AliSmsRequest aliSmsRequest = (AliSmsRequest) params;
        String templateCode = aliSmsRequest.getTemplateId();
        setMultiSmsParams(request, aliSmsRequest, templateCode);
        setOtherParams(request, aliSmsRequest);
        try {
            SmsCacheUtils.cacheSms(Arrays.toString(aliSmsRequest.getPhoneNumbers()), params, smsProperties);
            return iAcsClient.getCommonResponse(request);
        } catch (ClientException e) {
            throw new SmsException(e);
        }
    }
    throw new SmsException();
}

15 Source : AliSmsService.java
with Apache License 2.0
from jackieonway

@Override
public Object sendBatchTemplateSms(@NonNull String templateId, @NonNull BaseRequest params) {
    replacedert.notNull(templateId, "templateId can not be null");
    replacedert.notNull(params, PARAM_CAN_NOT_BE_NULL);
    CommonRequest request = setCommonRequest();
    if (params instanceof AliSmsRequest) {
        AliSmsRequest aliSmsRequest = (AliSmsRequest) params;
        setMultiSmsParams(request, aliSmsRequest, templateId);
        setOtherParams(request, aliSmsRequest);
        try {
            SmsCacheUtils.cacheSms(Arrays.toString(aliSmsRequest.getPhoneNumbers()), params, smsProperties);
            return iAcsClient.getCommonResponse(request);
        } catch (ClientException e) {
            throw new SmsException(e);
        }
    }
    throw new SmsException();
}

15 Source : AliSmsUtils.java
with Apache License 2.0
from ChinaLym

public static CommonRequest newRequest(AliSmsAction action) {
    final String aliCloudDomain = "dysmsapi.aliyuncs.com";
    final String aliCloudVersion = "2017-05-25";
    final String product = "Dysmsapi";
    final CommonRequest request = new CommonRequest();
    request.setMethod(MethodType.POST);
    request.setDomain(aliCloudDomain);
    request.setVersion(aliCloudVersion);
    request.setAction(action.getAction());
    request.setProduct(product);
    return request;
}

14 Source : AliSmsTemplate.java
with Apache License 2.0
from matevip

/**
 * 封装公共的request
 * @return
 */
private CommonRequest request() {
    CommonRequest request = new CommonRequest();
    request.setSysMethod(MethodType.POST);
    request.setSysDomain(smsProperties.getDomain());
    request.setSysVersion(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
    request.setSysAction("SendSms");
    request.putQueryParameter("RegionId", smsProperties.getRegionId());
    return request;
}

14 Source : AliSmsService.java
with Apache License 2.0
from jackieonway

@Override
public Object sendSms(@NonNull BaseRequest params) {
    replacedert.notNull(params, "param  can not be null");
    CommonRequest request = setCommonRequest();
    request.setSysAction(SEND_SMS);
    if (params instanceof AliSmsRequest) {
        AliSmsRequest aliSmsRequest = (AliSmsRequest) params;
        setSingleSmsParams(request, aliSmsRequest, aliSmsRequest.getTemplateId());
        setOtherParams(request, aliSmsRequest);
        try {
            SmsCacheUtils.cacheSms(Arrays.toString(aliSmsRequest.getPhoneNumbers()), params, smsProperties);
            return iAcsClient.getCommonResponse(request);
        } catch (ClientException e) {
            throw new SmsException(e);
        }
    }
    throw new SmsException();
}

14 Source : AliSmsService.java
with Apache License 2.0
from jackieonway

private void setOtherParams(CommonRequest request, AliSmsRequest aliSmsRequest) {
    if (!StringUtils.hasText(aliSmsRequest.getSignName())) {
        throw new IllegalArgumentException("param signName can not be null");
    }
    request.putQueryParameter("SignName", aliSmsRequest.getSignName());
    if (StringUtils.hasText(smsProperties.getRegion())) {
        request.putQueryParameter("RegionId", smsProperties.getRegion());
    }
    if (StringUtils.hasText(aliSmsRequest.getTemplateParam())) {
        request.putQueryParameter("TemplateParam", aliSmsRequest.getTemplateParam());
    }
    if (StringUtils.hasText(aliSmsRequest.getSmsUpExtendCode())) {
        request.putQueryParameter("SmsUpExtendCode", aliSmsRequest.getSmsUpExtendCode());
    }
    if (StringUtils.hasText(aliSmsRequest.getOutId())) {
        request.putQueryParameter("OutId", aliSmsRequest.getOutId());
    }
}

14 Source : AliSmsService.java
with Apache License 2.0
from jackieonway

@Override
public Object sendTemplateSms(@NonNull String templateId, @NonNull BaseRequest params) {
    replacedert.notNull(templateId, "templateId can not be null");
    replacedert.notNull(params, PARAM_CAN_NOT_BE_NULL);
    CommonRequest request = setCommonRequest();
    request.setSysAction(SEND_SMS);
    if (params instanceof AliSmsRequest) {
        AliSmsRequest aliSmsRequest = (AliSmsRequest) params;
        setSingleSmsParams(request, aliSmsRequest, templateId);
        setOtherParams(request, aliSmsRequest);
        try {
            SmsCacheUtils.cacheSms(Arrays.toString(aliSmsRequest.getPhoneNumbers()), params, smsProperties);
            return iAcsClient.getCommonResponse(request);
        } catch (ClientException e) {
            throw new SmsException(e);
        }
    }
    throw new SmsException();
}

13 Source : AliyunSMSprovider.java
with Apache License 2.0
from xunibidev

public MessageResult sendMessage(String mobile, String content, SmsDTO smsDTO) throws Exception {
    DefaultProfile profile = DefaultProfile.getProfile(ali_region, ali_accessKeyId, ali_accessSecret);
    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("RegionId", ali_region);
    request.putQueryParameter("PhoneNumbers", mobile);
    request.putQueryParameter("SignName", ali_smsSign);
    request.putQueryParameter("TemplateCode", ali_smsTemplate);
    JSONObject templateParasm = new JSONObject();
    templateParasm.put("code", content);
    request.putQueryParameter("TemplateParam", templateParasm.toJSONString());
    log.info("阿里云短信=={},{}", mobile, templateParasm.toJSONString());
    try {
        CommonResponse response = client.getCommonResponse(request);
        String returnStr = response.getData();
        return parseResult(returnStr);
    } catch (ClientException e) {
        MessageResult mr = new MessageResult(500, "系统错误");
        e.printStackTrace();
        return mr;
    }
}

13 Source : AliyunSmsSenderImpl.java
with MIT License
from uhonliu

/**
 * SendBatchSms接口是短信批量发送接口,支持在一次请求中分别向多个不同的手机号码发送不同签名的短信。
 * 手机号码等参数均为JSON格式,字段个数相同,一一对应,短信服务根据字段在JSON中的顺序判断发往指定手机号码的签名。
 *
 * @param batchSmsMessage
 * @return
 */
private Boolean doSendBatchSms(BatchSmsMessage batchSmsMessage) {
    log.info("SendBatchSms 发送短信开始");
    boolean result = false;
    try {
        // 地域ID
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
        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("SendBatchSms");
        request.putQueryParameter("RegionId", "cn-hangzhou");
        request.putQueryParameter("PhoneNumberJson", batchSmsMessage.getPhoneNumberJson());
        request.putQueryParameter("SignNameJson", batchSmsMessage.getSignNameJson());
        request.putQueryParameter("TemplateCode", batchSmsMessage.getTemplateCode());
        request.putQueryParameter("TemplateParamJson", batchSmsMessage.getTemplateParamJson());
        CommonResponse response = client.getCommonResponse(request);
        log.info(response.toString());
        JSONObject json = JSONObject.parseObject(response.getData());
        result = OK.equalsIgnoreCase(json.getString(CODE));
        log.info("result:{}", response.getData());
    } catch (Exception e) {
        log.error("发送短信失败:{}", e.getMessage(), e);
    }
    return result;
}

13 Source : NoticeService.java
with GNU General Public License v3.0
from qianxunclub

public void send(NoticeModel noticeModel) {
    try {
        Gson gson = new Gson();
        Map<String, String> map = new HashMap<>();
        map.put("name", noticeModel.getName());
        map.put("username", noticeModel.getUserName());
        map.put("preplacedword", noticeModel.getPreplacedword());
        map.put("orderId", noticeModel.getOrderId());
        DefaultProfile profile = DefaultProfile.getProfile("default", noticeConfig.getAccessKeyId(), noticeConfig.getAccessSecret());
        IAcsClient client = new DefaultAcsClient(profile);
        CommonRequest request = new CommonRequest();
        request.setProtocol(ProtocolType.HTTPS);
        request.setMethod(MethodType.GET);
        request.setDomain(apiConfig.getNotice());
        request.setVersion("2017-05-25");
        request.setAction("SendSms");
        request.putQueryParameter("PhoneNumbers", noticeModel.getPhoneNumber());
        request.putQueryParameter("SignName", noticeConfig.getSignName());
        request.putQueryParameter("TemplateCode", noticeConfig.getTemplateCode());
        request.putQueryParameter("TemplateParam", gson.toJson(map));
        CommonResponse response = client.getCommonResponse(request);
        map = gson.fromJson(response.getData(), Map.clreplaced);
        if (map.get("Code").equals("OK")) {
            log.debug("短信通知通知完成{}!", noticeModel.getPhoneNumber());
        } else {
            log.error("短信通知失败:" + map);
        }
    } catch (Exception e) {
        log.error("短信通知失败:" + noticeModel, e);
    }
}

13 Source : AbstractAliSmsTemplate.java
with Apache License 2.0
from fast-family

@Override
public CommonRequest getAliSmsRequest(T t) {
    CommonRequest request = new CommonRequest();
    request.setAction("SendSms");
    request.setVersion("2017-05-25");
    request.setMethod(MethodType.POST);
    request.setDomain(aliSmsProperties.getDomain());
    request.setProduct(aliSmsProperties.getProduce());
    request.setEndpointType(aliSmsProperties.getEndPointName());
    request.putQueryParameter("PhoneNumbers", t.getMobile());
    request.putQueryParameter("TemplateCode", t.getTemplateCode());
    request.putQueryParameter("TemplateParam", JSONObject.toJSONString(t.getParams()));
    request.putQueryParameter("SignName", t.getSignName());
    request.putQueryParameter("OutId", t.getOutId());
    return request;
}

13 Source : AliyunSmsSenderServiceProvider.java
with MIT License
from cooper-lyt

@Override
public void sendSmsMessage(TokenCodeType type, String phoneNumber, String code, int expires) throws MessageSendException {
    String templateId = config.get(realm.getName().toUpperCase() + "_" + type.name().toUpperCase() + "_TEMPLATE");
    CommonRequest request = new CommonRequest();
    request.setSysMethod(MethodType.POST);
    request.setSysDomain("dysmsapi.aliyuncs.com");
    request.setSysVersion("2017-05-25");
    request.setSysAction("SendSms");
    request.putQueryParameter("RegionId", "cn-hangzhou");
    request.putQueryParameter("PhoneNumbers", phoneNumber);
    request.putQueryParameter("SignName", realm.getDisplayName());
    request.putQueryParameter("TemplateCode", templateId);
    request.putQueryParameter("TemplateParam", String.format("{\"code\":\"%s\",\"expires\":\"%s\"}", code, expires / 60));
    try {
        CommonResponse response = client.getCommonResponse(request);
        System.out.println(response.getData());
    } catch (ServerException e) {
        e.printStackTrace();
    } catch (ClientException e) {
        e.printStackTrace();
    }
}

12 Source : AliyunSmsSenderImpl.java
with MIT License
from uhonliu

/**
 * SendSms接口是短信发送接口,支持在一次请求中向多个不同的手机号码发送同样内容的短信。
 *
 * @param smsMessage
 * @return
 */
private boolean doSendSms(SmsMessage smsMessage) {
    log.info("SendSms 发送短信开始");
    boolean result = false;
    try {
        // 地域ID
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
        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("RegionId", "cn-hangzhou");
        request.putQueryParameter("PhoneNumbers", smsMessage.getPhoneNum());
        request.putQueryParameter("SignName", smsMessage.getSignName());
        request.putQueryParameter("TemplateCode", smsMessage.getTplCode());
        request.putQueryParameter("TemplateParam", smsMessage.getTplParams());
        CommonResponse response = client.getCommonResponse(request);
        log.info(response.toString());
        JSONObject json = JSONObject.parseObject(response.getData());
        result = OK.equalsIgnoreCase(json.getString(CODE));
        log.info("result:{}", response.getData());
    } catch (Exception e) {
        log.error("发送短信失败:{}", e.getMessage(), e);
    }
    return result;
}

12 Source : SmsUtil.java
with Apache License 2.0
from shengdingbox

public static String SendBatchSms() {
    DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "<accessKeyId>", "<accessSecret>");
    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("SendBatchSms");
    request.putQueryParameter("RegionId", "cn-hangzhou");
    request.putQueryParameter("PhoneNumberJson", "[\"17600004572\"]");
    request.putQueryParameter("SignNameJson", "[\"蜜蜂追剧\"]");
    request.putQueryParameter("TemplateCode", "SMS_192577214");
    request.putQueryParameter("TemplateParamJson", "[{\"name\":\"code\"}]");
    try {
        CommonResponse response = client.getCommonResponse(request);
        System.out.println(response.getData());
    } catch (ClientException e) {
        e.printStackTrace();
    }
    return null;
}

12 Source : MsmServiceImpl.java
with Apache License 2.0
from liusCoding

/**
 * 发送验证码
 *
 * @param param 验证码
 * @param phone 手机号
 * @return 发送结果
 */
@Override
public boolean send(Map<String, Object> param, String phone) {
    // keyId: LTAI4GLDi5URc75mnamqeXmQ
    // keySecret: 5CKsFn3LmqojuNB5ly5GC38mZIjGDT
    if (StringUtils.isBlank(phone)) {
        return false;
    }
    DefaultProfile profile = DefaultProfile.getProfile("default", "LTAI4GLDi5URc75mnamqeXmQ", "5CKsFn3LmqojuNB5ly5GC38mZIjGDT");
    IAcsClient client = new DefaultAcsClient(profile);
    // 设置相关固定的参数
    CommonRequest request = new CommonRequest();
    // request.setProtocol(ProtocolType.HTTPS);
    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_190277104");
    // 验证码数据,转换json数据传递
    request.putQueryParameter("TemplateParam", JSONObject.toJSONString(param));
    try {
        // 最终发送
        CommonResponse response = client.getCommonResponse(request);
        boolean success = response.getHttpResponse().isSuccess();
        return success;
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}

11 Source : AliyunSMSClient.java
with Apache License 2.0
from zhengkaixing

private SMSResult sendCommon(String phone, String verifyCode, String templateId, String signature) throws ServiceException {
    try {
        CommonRequest request = new CommonRequest();
        request.setMethod(MethodType.POST);
        request.setDomain("dysmsapi.aliyuncs.com");
        request.setVersion("2017-05-25");
        request.setAction("SendSms");
        request.putQueryParameter("RegionId", "default");
        request.putQueryParameter("PhoneNumbers", phone);
        request.putQueryParameter("SignName", signature);
        request.putQueryParameter("TemplateCode", templateId);
        request.putQueryParameter("TemplateParam", "{\"code\":\"" + verifyCode + "\"}");
        CommonResponse commonResponse = client.getCommonResponse(request);
        String data = commonResponse.getData();
        JSONObject jsonObject = JSONObject.parseObject(data);
        String message = jsonObject.getString("Message");
        SMSResult smsResult = new SMSResult();
        smsResult.setSucc("OK".equalsIgnoreCase(message));
        smsResult.setMsg(message);
        return smsResult;
    } catch (ClientException e) {
        throw new ThirdPartServiceException(e.getMessage(), ExceptionDefinition.THIRD_PART_SERVICE_EXCEPTION.getCode());
    } catch (Exception e) {
        logger.error("[阿里云短信发送] 异常", e);
        throw new ThirdPartServiceException(ExceptionDefinition.APP_UNKNOWN_EXCEPTION.getMsg(), ExceptionDefinition.APP_UNKNOWN_EXCEPTION.getCode());
    }
}

11 Source : SmsUtil.java
with MIT License
from yunchaoyun

/**
 * @description
 *  	使用阿里云SDK发送短信,为了演示,这里将短信的发送参数全部作为方法参数传入,实际情况可以将部分参数写在配置中
 * @params
 *      regionId         阿里云区域regionId
 *      accessKeyId      主账号AccessKey的ID
 *      accessSecret     账号accesssecret
 *      phoneNo          短信接受手机号
 *      smsSign          短信签名
 *      templateParam    短信参数
 * @return void
 * @author 麻木神
 * @time 2019年12月16日 上午10:34:53
 */
public static void sendAliSms(String regionId, String accessKeyId, String accessSecret, String phoneNo, String smsSign, String templateCode, String templateParam) {
    DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessSecret);
    IAcsClient client = new DefaultAcsClient(profile);
    CommonRequest request = new CommonRequest();
    request.setMethod(MethodType.POST);
    request.setDomain("dysmsapi.aliyuncs.com");
    request.setVersion("2017-05-25");
    request.setAction("SendSms");
    request.putQueryParameter("RegionId", "cn-hangzhou");
    request.putQueryParameter("PhoneNumbers", phoneNo);
    request.putQueryParameter("SignName", smsSign);
    request.putQueryParameter("TemplateCode", templateCode);
    request.putQueryParameter("TemplateParam", templateParam);
    try {
        CommonResponse response = client.getCommonResponse(request);
        log.info("使用阿里云发送短信结果:{}", response.getData());
    } catch (ServerException e) {
        log.error(e.getMessage(), e);
    } catch (ClientException e) {
        log.error(e.getMessage(), e);
    }
}

11 Source : AliyunSMSProvider.java
with Apache License 2.0
from whoiszxl

@Override
public Result sendSingleMessage(String mobile, String templateCode, String params) throws Exception {
    DefaultProfile profile = DefaultProfile.getProfile("default", accessKeyId, accessKeySecret);
    IAcsClient client = new DefaultAcsClient(profile);
    CommonRequest request = new CommonRequest();
    request.setMethod(MethodType.POST);
    request.setDomain(domain);
    request.setVersion("2017-05-25");
    request.setAction("SendSms");
    request.putQueryParameter("RegionId", "default");
    request.putQueryParameter("PhoneNumbers", mobile);
    request.putQueryParameter("SignName", signName);
    request.putQueryParameter("TemplateCode", templateCode);
    request.putQueryParameter("TemplateParam", params);
    try {
        CommonResponse response = client.getCommonResponse(request);
        return Result.success(response);
    } catch (ClientException e) {
        return Result.fail(e.getMessage());
    }
}

11 Source : SmsService.java
with MIT License
from wells2333

/**
 * 发送短信
 *
 * @param smsDto smsDto
 * @return SmsResponse
 * @author tangyi
 * @date 2019/06/22 13:28
 */
public SmsResponse sendSms(SmsDto smsDto) {
    DefaultProfile profile = DefaultProfile.getProfile(smsProperties.getRegionId(), smsProperties.getAppKey(), smsProperties.getAppSecret());
    IAcsClient client = new DefaultAcsClient(profile);
    CommonRequest request = new CommonRequest();
    request.setMethod(MethodType.POST);
    request.setDomain(smsProperties.getDomain());
    request.putQueryParameter("RegionId", smsProperties.getRegionId());
    request.putQueryParameter("PhoneNumbers", smsDto.getReceiver());
    request.putQueryParameter("SignName", smsProperties.getSignName());
    request.putQueryParameter("TemplateCode", smsProperties.getTemplateCode());
    request.putQueryParameter("TemplateParam", smsDto.getContent());
    request.setVersion(smsProperties.getVersion());
    request.setAction(smsProperties.getAction());
    try {
        CommonResponse response = client.getCommonResponse(request);
        log.info("response: {}", response.getData());
        if (response.getHttpStatus() != 200)
            throw new CommonException(response.getData());
        SmsResponse smsResponse = JsonMapper.getInstance().fromJson(response.getData(), SmsResponse.clreplaced);
        if (smsResponse == null)
            throw new CommonException("Parse response error");
        if (!"OK".equals(smsResponse.getCode()))
            throw new CommonException(smsResponse.getMessage());
        return smsResponse;
    } catch (Exception e) {
        log.error(e.getMessage(), e);
        throw new CommonException("Send message failed: " + e.getMessage());
    }
}

11 Source : SmsOtpAuthnAliyun.java
with Apache License 2.0
from MaxKeyTop

@Override
public boolean produce(UserInfo userInfo) {
    // 手机号
    String mobile = userInfo.getMobile();
    if (mobile != null && !mobile.equals("")) {
        try {
            DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessSecret);
            IAcsClient client = new DefaultAcsClient(profile);
            String token = this.genToken(userInfo);
            CommonRequest request = new CommonRequest();
            request.setSysMethod(MethodType.POST);
            request.setSysDomain("dysmsapi.aliyuncs.com");
            request.setSysVersion("2017-05-25");
            request.setSysAction("SendSms");
            request.putQueryParameter("RegionId", "cn-hangzhou");
            request.putQueryParameter("PhoneNumbers", mobile);
            request.putQueryParameter("SignName", signName);
            request.putQueryParameter("TemplateCode", templateCode);
            request.putQueryParameter("TemplateParam", "{\"code\":\"" + token + "\"}");
            CommonResponse response = client.getCommonResponse(request);
            logger.debug("responseString " + response.getData());
            // 成功返回
            if (response.getData().indexOf("OK") > -1) {
                this.optTokenStore.store(userInfo, token, userInfo.getMobile(), OtpTypes.SMS);
                return true;
            }
        } catch (Exception e) {
            logger.error(" produce code error ", e);
        }
    }
    return false;
}

11 Source : SmsUtil.java
with Apache License 2.0
from lyh-man

/**
 * 发送短信
 */
public String sendSms(String phoneNumbers) {
    if (StringUtils.isEmpty(phoneNumbers)) {
        return null;
    }
    DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);
    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("RegionId", regionId);
    // 设置手机号
    request.putQueryParameter("PhoneNumbers", phoneNumbers);
    // 设置签名模板
    request.putQueryParameter("SignName", signName);
    // 设置短信模板
    request.putQueryParameter("TemplateCode", templateCode);
    // 设置短信验证码
    String code = getCode();
    request.putQueryParameter("TemplateParam", "{\"code\":" + code + "}");
    try {
        CommonResponse response = client.getCommonResponse(request);
        System.out.println(response.getData());
        // 转换返回的数据(需引入 Gson 依赖)
        SmsResponse smsResponse = GsonUtil.fromJson(response.getData(), SmsResponse.clreplaced);
        // 当 message 与 code 均为 ok 时,短信发送成功、否则失败
        if (SmsUtil.OK.equals(smsResponse.getMessage()) && SmsUtil.OK.equals(smsResponse.getCode())) {
            return code;
        }
        return null;
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}

11 Source : AliyunSmsSender.java
with MIT License
from liutaojava

@Override
public SmsResult sendWithTemplate(String phone, String templateId, String[] params) {
    DefaultProfile profile = DefaultProfile.getProfile(this.regionId, this.accessKeyId, this.accessKeySecret);
    IAcsClient client = new DefaultAcsClient(profile);
    CommonRequest request = new CommonRequest();
    request.setMethod(MethodType.POST);
    request.setDomain("dysmsapi.aliyuncs.com");
    request.setVersion("2017-05-25");
    request.setAction("SendSms");
    request.putQueryParameter("RegionId", this.regionId);
    request.putQueryParameter("PhoneNumbers", phone);
    request.putQueryParameter("SignName", this.sign);
    request.putQueryParameter("TemplateCode", templateId);
    /*
          NOTE:阿里云短信和腾讯云短信这里存在不一致
          腾讯云短信模板参数是数组,因此短信模板形式如 “短信参数{1}, 短信参数{2}”
          阿里云短信模板参数是JSON,因此短信模板形式如“短信参数{param1}, 短信参数{param2}”
          为了保持统一,我们假定阿里云短信里面的参数是code,code1,code2...

          如果开发者在阿里云短信申请的模板参数是其他命名,请开发者自行调整这里的代码,或者直接写死。
         */
    String templateParam = "{}";
    if (params.length == 1) {
        Map<String, String> data = new HashMap<>();
        data.put("code", params[0]);
        templateParam = JacksonUtil.toJson(data);
    } else if (params.length > 1) {
        Map<String, String> data = new HashMap<>();
        data.put("code", params[0]);
        for (int i = 1; i < params.length; i++) {
            data.put("code" + i, params[i]);
        }
        templateParam = JacksonUtil.toJson(data);
    }
    request.putQueryParameter("TemplateParam", templateParam);
    try {
        CommonResponse response = client.getCommonResponse(request);
        SmsResult smsResult = new SmsResult();
        smsResult.setSuccessful(true);
        smsResult.setResult(response);
        return smsResult;
    } catch (ServerException e) {
        e.printStackTrace();
    } catch (ClientException e) {
        e.printStackTrace();
    }
    SmsResult smsResult = new SmsResult();
    smsResult.setSuccessful(false);
    return smsResult;
}

11 Source : AliyunSmsSender.java
with Apache License 2.0
from kick7788

@Override
public SmsResult sendWithTemplate(String phone, String templateId, String[] params) {
    DefaultProfile profile = DefaultProfile.getProfile(this.regionId, this.accessKeyId, this.accessKeySecret);
    IAcsClient client = new DefaultAcsClient(profile);
    CommonRequest request = new CommonRequest();
    request.setMethod(MethodType.POST);
    request.setDomain("dysmsapi.aliyuncs.com");
    request.setVersion("2017-05-25");
    request.setAction("SendSms");
    request.putQueryParameter("RegionId", this.regionId);
    request.putQueryParameter("PhoneNumbers", phone);
    request.putQueryParameter("SignName", this.sign);
    request.putQueryParameter("TemplateCode", templateId);
    /*
         * NOTE:阿里云短信和腾讯云短信这里存在不一致 腾讯云短信模板参数是数组,因此短信模板形式如 “短信参数{1}, 短信参数{2}”
         * 阿里云短信模板参数是JSON,因此短信模板形式如“短信参数{param1}, 短信参数{param2}”
         * 为了保持统一,我们假定阿里云短信里面的参数是code,code1,code2...
         * 如果开发者在阿里云短信申请的模板参数是其他命名,请开发者自行调整这里的代码,或者直接写死。
         */
    String templateParam = "{}";
    if (params.length == 1) {
        Map<String, String> data = new HashMap<>();
        data.put("code", params[0]);
        templateParam = JacksonUtil.toJson(data);
    } else if (params.length > 1) {
        Map<String, String> data = new HashMap<>();
        data.put("code", params[0]);
        for (int i = 1; i < params.length; i++) {
            data.put("code" + i, params[i]);
        }
        templateParam = JacksonUtil.toJson(data);
    }
    request.putQueryParameter("TemplateParam", templateParam);
    try {
        CommonResponse response = client.getCommonResponse(request);
        SmsResult smsResult = new SmsResult();
        smsResult.setSuccessful(true);
        smsResult.setResult(response);
        return smsResult;
    } catch (ServerException e) {
        e.printStackTrace();
    } catch (ClientException e) {
        e.printStackTrace();
    }
    SmsResult smsResult = new SmsResult();
    smsResult.setSuccessful(false);
    return smsResult;
}

11 Source : AliyunSmsNotifier.java
with Apache License 2.0
from jetlinks

@Override
@Nonnull
public Mono<Void> send(@Nonnull AliyunSmsTemplate template, @Nonnull Values context) {
    return Mono.<Void>defer(() -> {
        try {
            CommonRequest request = new CommonRequest();
            request.setSysMethod(MethodType.POST);
            request.setSysDomain(domain);
            request.setSysVersion("2017-05-25");
            request.setSysAction("SendSms");
            request.setSysConnectTimeout(connectTimeout);
            request.setSysReadTimeout(readTimeout);
            request.putQueryParameter("RegionId", regionId);
            request.putQueryParameter("PhoneNumbers", template.getPhoneNumber());
            request.putQueryParameter("SignName", template.getSignName());
            request.putQueryParameter("TemplateCode", template.getCode());
            request.putQueryParameter("TemplateParam", template.createTtsParam(context.getAllValues()));
            CommonResponse response = client.getCommonResponse(request);
            log.info("发送短信通知完成 {}:{}", response.getHttpResponse().getStatus(), response.getData());
            JSONObject json = JSON.parseObject(response.getData());
            if (!"ok".equalsIgnoreCase(json.getString("Code"))) {
                return Mono.error(new BusinessException(json.getString("Message"), json.getString("Code")));
            }
        } catch (Exception e) {
            return Mono.error(e);
        }
        return Mono.empty();
    }).doOnEach(ReactiveLogger.onError(err -> {
        log.info("发送短信通知失败", err);
    })).subscribeOn(Schedulers.elastic());
}

11 Source : AliSendMessageFactory.java
with Apache License 2.0
from java110

public static void sendMessage(String tel, String code) {
    // 开始发送验证码
    logger.debug("发送号码为{},短信码为{}", tel, code);
    DefaultProfile profile = DefaultProfile.getProfile(MappingCache.getValue(ALI_SMS_DOMAIN, "region"), MappingCache.getValue(ALI_SMS_DOMAIN, "accessKeyId"), MappingCache.getValue(ALI_SMS_DOMAIN, "accessSecret"));
    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("RegionId", MappingCache.getValue(ALI_SMS_DOMAIN, "region"));
    request.putQueryParameter("PhoneNumbers", tel);
    request.putQueryParameter("SignName", MappingCache.getValue(ALI_SMS_DOMAIN, "signName"));
    request.putQueryParameter("TemplateCode", MappingCache.getValue(ALI_SMS_DOMAIN, "TemplateCode"));
    request.putQueryParameter("TemplateParam", "{\"code\":" + code + "}");
    try {
        CommonResponse response = client.getCommonResponse(request);
        logger.debug("发送验证码信息:{}", response.getData());
    } catch (ServerException e) {
        e.printStackTrace();
    } catch (ClientException e) {
        e.printStackTrace();
    }
}

11 Source : AliyunSmsService.java
with MIT License
from fengdis

public CommonResponse querySmsSign(String signName) {
    // 可自助调整超时时间
    System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
    System.setProperty("sun.net.client.defaultReadTimeout", "10000");
    DefaultProfile profile = DefaultProfile.getProfile("default", accessKeyId, accessKeySecret);
    client = new DefaultAcsClient(profile);
    // 组装请求对象-具体描述见控制台-文档部分内容
    CommonRequest request = new CommonRequest();
    request.setMethod(MethodType.POST);
    request.setDomain(domain);
    request.setVersion(version);
    request.setAction("QuerySmsSign");
    request.putQueryParameter("RegionId", "default");
    request.putQueryParameter("SignName", signName);
    CommonResponse response = null;
    try {
        response = client.getCommonResponse(request);
        System.out.println(response.getData());
        logger.info("阿里云短信smsSign查询成功");
    } catch (ServerException e) {
        logger.error("阿里云短信smsSign查询异常", e);
    } catch (ClientException e) {
        logger.error("阿里云短信smsSign查询异常", e);
    }
    return response;
}

11 Source : AliyunSmsService.java
with MIT License
from fengdis

public CommonResponse deleteSmsTemplate(String templateCode) {
    // 可自助调整超时时间
    System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
    System.setProperty("sun.net.client.defaultReadTimeout", "10000");
    DefaultProfile profile = DefaultProfile.getProfile("default", accessKeyId, accessKeySecret);
    client = new DefaultAcsClient(profile);
    // 组装请求对象-具体描述见控制台-文档部分内容
    CommonRequest request = new CommonRequest();
    request.setMethod(MethodType.POST);
    request.setDomain(domain);
    request.setVersion(version);
    request.setAction("DeleteSmsTemplate");
    request.putQueryParameter("RegionId", "default");
    request.putQueryParameter("TemplateCode", templateCode);
    CommonResponse response = null;
    try {
        response = client.getCommonResponse(request);
        System.out.println(response.getData());
        logger.info("阿里云短信smsTemplate删除成功");
    } catch (ServerException e) {
        logger.error("阿里云短信smsTemplate删除异常", e);
    } catch (ClientException e) {
        logger.error("阿里云短信smsTemplate删除异常", e);
    }
    return response;
}

11 Source : AliyunSmsService.java
with MIT License
from fengdis

/**
 * SendBatchSms接口是短信批量发送接口,支持在一次请求中分别向多个不同的手机号码发送不同签名的短信。手机号码等参数均为JSON格式,字段个数相同,一一对应,短信服务根据字段在JSON中的顺序判断发往指定手机号码的签名。
 * 在一次请求中,最多可以向100个手机号码分别发送短信。
 * @param phoneNumberJson
 * @param signNameJson
 * @param templateCode
 * @param templateParamJson
 * @param smsUpExtendCodeJson
 * @return
 */
public CommonResponse sendBatchSms(String phoneNumberJson, String signNameJson, String templateCode, String templateParamJson, String smsUpExtendCodeJson) {
    // 可自助调整超时时间
    System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
    System.setProperty("sun.net.client.defaultReadTimeout", "10000");
    DefaultProfile profile = DefaultProfile.getProfile("default", accessKeyId, accessKeySecret);
    client = new DefaultAcsClient(profile);
    // 组装请求对象-具体描述见控制台-文档部分内容
    CommonRequest request = new CommonRequest();
    request.setMethod(MethodType.POST);
    request.setDomain(domain);
    request.setVersion(version);
    request.setAction("SendBatchSms");
    request.putQueryParameter("RegionId", "default");
    request.putQueryParameter("PhoneNumberJson", phoneNumberJson);
    request.putQueryParameter("SignNameJson", signNameJson);
    request.putQueryParameter("TemplateCode", templateCode);
    request.putQueryParameter("TemplateParamJson", templateParamJson);
    request.putQueryParameter("SmsUpExtendCodeJson", smsUpExtendCodeJson);
    CommonResponse response = null;
    try {
        response = client.getCommonResponse(request);
        System.out.println(response.getData());
        logger.info("阿里云短信批量发送成功");
    } catch (ServerException e) {
        logger.error("阿里云短信批量发送异常", e);
    } catch (ClientException e) {
        logger.error("阿里云短信批量发送异常", e);
    }
    return response;
}

11 Source : AliyunSmsService.java
with MIT License
from fengdis

/**
 * 调用QuerySendDetails接口查看短信发送记录和发送状态。
 * 通过调用QuerySendDetails接口,可以根据短信发送日期查看发送记录和短信内容,也可以添加发送流水号,根据流水号查询指定日期指定请求的发送详情。
 * 如果指定日期短信发送量较大,可以分页查看。指定每页显示的短信详情数量和查看的页数,即可分页查看发送记录。
 * @param phoneNumber
 * @param sendDate
 * @param pageSize
 * @param currentPage
 * @param bizId
 * @return
 */
public CommonResponse querySendDetails(String phoneNumber, String sendDate, String pageSize, String currentPage, String bizId) {
    // 可自助调整超时时间
    System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
    System.setProperty("sun.net.client.defaultReadTimeout", "10000");
    DefaultProfile profile = DefaultProfile.getProfile("default", accessKeyId, accessKeySecret);
    client = new DefaultAcsClient(profile);
    // 组装请求对象-具体描述见控制台-文档部分内容
    CommonRequest request = new CommonRequest();
    request.setMethod(MethodType.POST);
    request.setDomain(domain);
    request.setVersion(version);
    request.setAction("QuerySendDetails");
    request.putQueryParameter("RegionId", "default");
    request.putQueryParameter("PhoneNumber", phoneNumber);
    request.putQueryParameter("SendDate", sendDate);
    request.putQueryParameter("PageSize", pageSize);
    request.putQueryParameter("CurrentPage", currentPage);
    request.putQueryParameter("BizId", bizId);
    CommonResponse response = null;
    try {
        response = client.getCommonResponse(request);
        System.out.println(response.getData());
        logger.info("阿里云短信sendDetails查询成功");
    } catch (ServerException e) {
        logger.error("阿里云短信sendDetails查询异常", e);
    } catch (ClientException e) {
        logger.error("阿里云短信sendDetails查询异常", e);
    }
    return response;
}

11 Source : AliyunSmsService.java
with MIT License
from fengdis

public CommonResponse modifySmsSign(String signName, String signSource, String remark) {
    // 可自助调整超时时间
    System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
    System.setProperty("sun.net.client.defaultReadTimeout", "10000");
    DefaultProfile profile = DefaultProfile.getProfile("default", accessKeyId, accessKeySecret);
    client = new DefaultAcsClient(profile);
    // 组装请求对象-具体描述见控制台-文档部分内容
    CommonRequest request = new CommonRequest();
    request.setMethod(MethodType.POST);
    request.setDomain(domain);
    request.setVersion(version);
    request.setAction("ModifySmsSign");
    request.putQueryParameter("RegionId", "default");
    request.putQueryParameter("SignName", signName);
    request.putQueryParameter("SignSource", signSource);
    request.putQueryParameter("Remark", remark);
    request.putQueryParameter("SignFileList.1.FileSuffix", "1");
    request.putQueryParameter("SignFileList.1.FileContents", "1");
    request.putQueryParameter("SignFileList.2.FileSuffix", "2");
    request.putQueryParameter("SignFileList.2.FileContents", "2");
    CommonResponse response = null;
    try {
        response = client.getCommonResponse(request);
        System.out.println(response.getData());
        logger.info("阿里云短信smsSign修改成功");
    } catch (ServerException e) {
        logger.error("阿里云短信smsSign修改异常", e);
    } catch (ClientException e) {
        logger.error("阿里云短信smsSign修改异常", e);
    }
    return response;
}

11 Source : AliyunSmsService.java
with MIT License
from fengdis

public CommonResponse addSmsTemplate(String templateType, String templateName, String templateContent, String remark) {
    // 可自助调整超时时间
    System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
    System.setProperty("sun.net.client.defaultReadTimeout", "10000");
    DefaultProfile profile = DefaultProfile.getProfile("default", accessKeyId, accessKeySecret);
    client = new DefaultAcsClient(profile);
    // 组装请求对象-具体描述见控制台-文档部分内容
    CommonRequest request = new CommonRequest();
    request.setMethod(MethodType.POST);
    request.setDomain(domain);
    request.setVersion(version);
    request.setAction("AddSmsTemplate");
    request.putQueryParameter("RegionId", "default");
    request.putQueryParameter("TemplateType", templateType);
    request.putQueryParameter("TemplateName", templateName);
    request.putQueryParameter("TemplateContent", templateContent);
    request.putQueryParameter("Remark", remark);
    CommonResponse response = null;
    try {
        response = client.getCommonResponse(request);
        System.out.println(response.getData());
        logger.info("阿里云短信smsTemplate添加成功");
    } catch (ServerException e) {
        logger.error("阿里云短信smsTemplate添加异常", e);
    } catch (ClientException e) {
        logger.error("阿里云短信smsTemplate添加异常", e);
    }
    return response;
}

11 Source : AliyunSmsService.java
with MIT License
from fengdis

/**
 * 调用短信AddSmsSign申请短信签名。
 *
 * 您可以通过短信服务API接口或短信服务控制台申请短信签名,签名需要符合个人用户签名规范或企业用户签名规范。
 *
 * 短信签名审核流程请参考签名审核流程。
 *
 * 说明 个人用户每天最多可以申请一个短信签名,适用场景默认为通用。企业用户每天最多可以申请100个签名。
 * @param signName
 * @param signSource
 * @param remark
 * @return
 */
public CommonResponse addSmsSign(String signName, String signSource, String remark) {
    // 可自助调整超时时间
    System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
    System.setProperty("sun.net.client.defaultReadTimeout", "10000");
    DefaultProfile profile = DefaultProfile.getProfile("default", accessKeyId, accessKeySecret);
    client = new DefaultAcsClient(profile);
    // 组装请求对象-具体描述见控制台-文档部分内容
    CommonRequest request = new CommonRequest();
    request.setMethod(MethodType.POST);
    request.setDomain(domain);
    request.setVersion(version);
    request.setAction("AddSmsSign");
    request.putQueryParameter("RegionId", "default");
    request.putQueryParameter("SignName", "1");
    request.putQueryParameter("SignSource", "1");
    request.putQueryParameter("Remark", "1");
    request.putQueryParameter("SignFileList.1.FileSuffix", "1");
    request.putQueryParameter("SignFileList.1.FileContents", "1");
    request.putQueryParameter("SignFileList.2.FileSuffix", "1");
    request.putQueryParameter("SignFileList.2.FileContents", "1");
    CommonResponse response = null;
    try {
        response = client.getCommonResponse(request);
        System.out.println(response.getData());
        logger.info("阿里云短信smsSign添加成功");
    } catch (ServerException e) {
        logger.error("阿里云短信smsSign添加异常", e);
    } catch (ClientException e) {
        logger.error("阿里云短信smsSign添加异常", e);
    }
    return response;
}

11 Source : AliyunSmsService.java
with MIT License
from fengdis

/**
 * @param templateType
 * @param templateName
 * @param templateCode
 * @param templateContent
 * @param remark
 * @return
 */
public CommonResponse modifySmsTemplate(String templateType, String templateName, String templateCode, String templateContent, String remark) {
    // 可自助调整超时时间
    System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
    System.setProperty("sun.net.client.defaultReadTimeout", "10000");
    DefaultProfile profile = DefaultProfile.getProfile("default", accessKeyId, accessKeySecret);
    client = new DefaultAcsClient(profile);
    // 组装请求对象-具体描述见控制台-文档部分内容
    CommonRequest request = new CommonRequest();
    request.setMethod(MethodType.POST);
    request.setDomain(domain);
    request.setVersion(version);
    request.setAction("ModifySmsTemplate");
    request.putQueryParameter("RegionId", "default");
    request.putQueryParameter("TemplateType", templateType);
    request.putQueryParameter("TemplateName", templateName);
    request.putQueryParameter("TemplateCode", templateCode);
    request.putQueryParameter("TemplateContent", templateContent);
    request.putQueryParameter("Remark", remark);
    CommonResponse response = null;
    try {
        response = client.getCommonResponse(request);
        System.out.println(response.getData());
        logger.info("阿里云短信smsTemplate修改成功");
    } catch (ServerException e) {
        logger.error("阿里云短信smsTemplate修改异常", e);
    } catch (ClientException e) {
        logger.error("阿里云短信smsTemplate修改异常", e);
    }
    return response;
}

11 Source : AliyunSmsService.java
with MIT License
from fengdis

/**
 * 调用接口DeleteSmsSign删除短信签名。
 *
 * 说明
 * 不支持删除正在审核中的签名。
 * 短信签名删除后不可恢复,请谨慎操作。
 * @param signName
 * @return
 */
public CommonResponse deleteSmsSign(String signName) {
    // 可自助调整超时时间
    System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
    System.setProperty("sun.net.client.defaultReadTimeout", "10000");
    DefaultProfile profile = DefaultProfile.getProfile("default", accessKeyId, accessKeySecret);
    client = new DefaultAcsClient(profile);
    // 组装请求对象-具体描述见控制台-文档部分内容
    CommonRequest request = new CommonRequest();
    request.setMethod(MethodType.POST);
    request.setDomain(domain);
    request.setVersion(version);
    request.setAction("DeleteSmsSign");
    request.putQueryParameter("RegionId", "default");
    request.putQueryParameter("SignName", signName);
    CommonResponse response = null;
    try {
        response = client.getCommonResponse(request);
        System.out.println(response.getData());
        logger.info("阿里云短信smsSign删除成功");
    } catch (ServerException e) {
        logger.error("阿里云短信smsSign删除异常", e);
    } catch (ClientException e) {
        logger.error("阿里云短信smsSign删除异常", e);
    }
    return response;
}

11 Source : AliyunSmsService.java
with MIT License
from fengdis

public CommonResponse querySmsTemplate(String templateCode) {
    // 可自助调整超时时间
    System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
    System.setProperty("sun.net.client.defaultReadTimeout", "10000");
    DefaultProfile profile = DefaultProfile.getProfile("default", accessKeyId, accessKeySecret);
    client = new DefaultAcsClient(profile);
    // 组装请求对象-具体描述见控制台-文档部分内容
    CommonRequest request = new CommonRequest();
    request.setMethod(MethodType.POST);
    request.setDomain(domain);
    request.setVersion(version);
    request.setAction("QuerySmsTemplate");
    request.putQueryParameter("RegionId", "default");
    request.putQueryParameter("TemplateCode", templateCode);
    CommonResponse response = null;
    try {
        response = client.getCommonResponse(request);
        System.out.println(response.getData());
        logger.info("阿里云短信smsTemplate查询成功");
    } catch (ServerException e) {
        logger.error("阿里云短信smsTemplate查询异常", e);
    } catch (ClientException e) {
        logger.error("阿里云短信smsTemplate查询异常", e);
    }
    return response;
}

11 Source : SmsServiceImpl.java
with zlib License
from 981011512

@Override
public void sendSmsByAli(String RegionId, String PhoneNumbers, String SignName, String TemplateCode, String TemplateParam, String SmsUpExtendCode, String OutId) {
    DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "这填写您的key", "这添加您的密钥");
    IAcsClient client = new DefaultAcsClient(profile);
    CommonRequest request = new CommonRequest();
    request.setMethod(MethodType.POST);
    request.setDomain("dysmsapi.aliyuncs.com");
    request.setVersion("2017-05-25");
    request.setAction("SendSms");
    if (StringUtils.isNotEmpty(RegionId)) {
        request.putQueryParameter("RegionId", "cn-hangzhou");
    }
    if (StringUtils.isNotEmpty(PhoneNumbers)) {
        request.putQueryParameter("PhoneNumbers", PhoneNumbers);
    }
    if (StringUtils.isNotEmpty(SignName)) {
        request.putQueryParameter("SignName", SignName);
    }
    if (StringUtils.isNotEmpty(TemplateCode)) {
        request.putQueryParameter("TemplateCode", TemplateCode);
    }
    if (StringUtils.isNotEmpty(TemplateParam)) {
        request.putQueryParameter("TemplateParam", TemplateParam);
    }
    if (StringUtils.isNotEmpty(SmsUpExtendCode)) {
        request.putQueryParameter("SmsUpExtendCode", SmsUpExtendCode);
    }
    if (StringUtils.isNotEmpty(OutId)) {
        request.putQueryParameter("OutId", OutId);
    }
    try {
        CommonResponse response = client.getCommonResponse(request);
    } catch (ServerException e) {
        System.out.println("阿里云短信发送失败" + e.getMessage());
        e.printStackTrace();
    } catch (ClientException e) {
        System.out.println("阿里云短信发送失败" + e.getMessage());
        e.printStackTrace();
    }
}

10 Source : SmsClient.java
with MIT License
from rexlin600

/**
 * 发送消息
 *
 * @param req the req
 * @return the boolean
 * @throws ClientException the client exception
 */
public void send(SmsRequest req) throws ClientException {
    // 绿色通道校验
    if (checkHelper.isGreenChannelOpen()) {
        log.info("==>  已开启短信绿色通道,手机号 {} 默认短信验证码 {}", req.getPhone(), smsConfig.getGreenCode());
        return;
    }
    // 超过阈值校验
    checkHelper.isOverThreshold(req.getPhone(), req.getTemplateCode());
    // 构建通用短信请求对象
    CommonRequest commonRequest = new CommonRequest();
    commonRequest.setSysMethod(MethodType.POST);
    commonRequest.setSysAction(SmsConst.SEND_SMS);
    commonRequest.setSysDomain(smsConfig.getDomain());
    commonRequest.setSysVersion(SmsConst.VERSION);
    commonRequest.putQueryParameter(SmsConst.REGION_PARAM, smsConfig.getRegionId());
    commonRequest.putQueryParameter("PhoneNumbers", req.getPhone());
    commonRequest.putQueryParameter("SignName", req.getSignName());
    commonRequest.putQueryParameter("TemplateCode", req.getTemplateCode());
    commonRequest.putQueryParameter("TemplateParam", JSONUtil.toJsonStr(req.getTemplateParam()));
    // 发送短信
    CommonResponse response = SmsClient.instance.getCommonResponse(commonRequest);
    if (response.getHttpStatus() == HttpStatus.OK.value()) {
        JSONObject jsonObject = JSONUtil.parseObj(response.getData());
        SmsResponse smsResponse = SmsResponse.build(jsonObject);
        if (!smsResponse.isSuccess()) {
            throw new ClientException(SmsConst.ERROR_CODE, smsResponse.getMessage());
        }
        // 发送成功后需记录阈值防盗刷:每日阈值、模板阈值
        cacheHelper.cacheDailyThreshold(req.getPhone(), req.getTemplateCode());
        cacheHelper.cacheTemplateThreshold(req.getPhone(), req.getTemplateCode());
    }
}

10 Source : AliyunSmsService.java
with MIT License
from fengdis

/**
 * 短信发送接口,支持在一次请求中向多个不同的手机号码发送同样内容的短信。
 * 如果您需要在一次请求中分别向多个不同的手机号码发送不同签名和模版内容的短信,请使用SendBatchSms接口。
 * 在一次请求中,最多可以向1000个手机号码发送同样内容的短信。
 * @param phoneNumbers 必填:接收短信的手机号码。
 *                      格式:
 *                      国内短信:11位手机号码,例如15951955195。
 *                      国际/港澳台消息:国际区号+号码,例如85200000000。
 *                      支持对多个手机号码发送短信,手机号码之间以英文逗号(,)分隔。上限为1000个手机号码。批量调用相对于单条调用及时性稍有延迟。
 *                      验证码类型短信,建议使用单独发送的方式。
 * @param signName 必填:短信签名-可在短信控制台中找到
 * @param templateCode 必填:短信模板-可在短信控制台中找到
 * @param templateParam 选填:短信模板变量对应的实际值,JSON格式。如果JSON中需要带换行符,请参照标准的JSON协议处理。
 * @return
 */
public CommonResponse sendSms(String phoneNumbers, String signName, String templateCode, Map<String, String> templateParam) {
    // 可自助调整超时时间
    System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
    System.setProperty("sun.net.client.defaultReadTimeout", "10000");
    DefaultProfile profile = DefaultProfile.getProfile("default", accessKeyId, accessKeySecret);
    // DefaultProfile.addEndpoint("default", "default", product, domain);
    client = new DefaultAcsClient(profile);
    // 组装请求对象-具体描述见控制台-文档部分内容
    CommonRequest request = new CommonRequest();
    request.setMethod(MethodType.POST);
    request.setDomain(domain);
    request.setVersion(version);
    request.setAction("SendSms");
    request.putQueryParameter("RegionId", "default");
    request.putQueryParameter("PhoneNumbers", phoneNumbers);
    request.putQueryParameter("SignName", signName);
    request.putQueryParameter("TemplateCode", templateCode);
    request.putQueryParameter("TemplateParam", JSON.toJSONString(templateParam));
    // 选填-上行短信扩展码,无特殊需要此字段的用户请忽略此字段
    // request.putQueryParameter("SmsUpExtendCode", "0");
    // 可选-外部流水扩展字段,outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
    // request.putQueryParameter("OutId", "yourOutId");
    CommonResponse response = null;
    try {
        response = client.getCommonResponse(request);
        System.out.println(response.getData());
        logger.info("阿里云短信发送成功");
    } catch (ServerException e) {
        logger.error("阿里云短信发送异常", e);
    } catch (ClientException e) {
        logger.error("阿里云短信发送异常", e);
    }
    return response;
}

See More Examples