Search in sources :

Example 1 with SendSmsRequest

use of com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest in project paascloud-master by paascloud.

the class OptSendSmsTopicConsumer method handlerSendSmsTopic.

/**
 * Handler send sms topic.
 *
 * @param body      the body
 * @param topicName the topic name
 * @param tags      the tags
 * @param keys      the keys
 */
public void handlerSendSmsTopic(String body, String topicName, String tags, String keys) {
    MqMessage.checkMessage(body, keys, topicName);
    SendSmsRequest sendSmsRequest;
    try {
        sendSmsRequest = JacksonUtil.parseJson(body, SendSmsRequest.class);
    } catch (Exception e) {
        log.error("发送短信MQ出现异常={}", e.getMessage(), e);
        throw new IllegalArgumentException("JSON转换异常", e);
    }
    String ipAddr = sendSmsRequest.getOutId();
    if (StringUtils.isEmpty(ipAddr)) {
        throw new IllegalArgumentException("outId不能为空");
    }
    smsService.sendSms(sendSmsRequest);
}
Also used : SendSmsRequest(com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest)

Example 2 with SendSmsRequest

use of com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest in project paascloud-master by paascloud.

the class OptSmsServiceTest method sendMessageProducerTest.

@Test
public void sendMessageProducerTest() throws InterruptedException {
    SendSmsRequest request = new SendSmsRequest();
    // 必填:待发送手机号
    request.setPhoneNumbers("13718891700");
    // 必填:短信签名-可在短信控制台中找到
    request.setSignName("快乐学习网");
    // 必填:短信模板-可在短信控制台中找到
    request.setTemplateCode("SMS_78725128");
    // 可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
    request.setTemplateParam("{\"code\":\"963852\"}");
    // 选填-上行短信扩展码(无特殊需求用户请忽略此字段)
    // request.setSmsUpExtendCode("90997");
    // 可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
    request.setOutId("yourOutId");
    SendSmsResponse sendSmsResponse = optSmsService.sendSms(request);
    logger.info("发送 生产数据 sendSmsResponse={}", sendSmsResponse);
}
Also used : SendSmsRequest(com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest) SendSmsResponse(com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse) Test(org.junit.Test)

Example 3 with SendSmsRequest

use of com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest in project paascloud-master by paascloud.

the class OptSmsServiceImpl method sendSms.

@Override
public SendSmsResponse sendSms(SendSmsRequest sendSmsRequest) {
    checkParam(sendSmsRequest);
    SendSmsResponse acsResponse;
    try {
        if (GlobalConstant.DEV_PROFILE.equals(profile)) {
            log.error("dev环境不发送短信");
            return new SendSmsResponse();
        }
        if (GlobalConstant.TEST_PROFILE.equals(profile)) {
            log.error("test环境不发送短信");
            return new SendSmsResponse();
        }
        acsResponse = iAcsClient.getAcsResponse(sendSmsRequest);
    } catch (ClientException e) {
        log.error("send sms message error={}", e.getMessage(), e);
        throw new OpcBizException(ErrorCodeEnum.OPC10040004, e);
    }
    log.info("send sms message OK acsResponse={}", acsResponse);
    return acsResponse;
}
Also used : ClientException(com.aliyuncs.exceptions.ClientException) OpcBizException(com.paascloud.provider.exceptions.OpcBizException) SendSmsResponse(com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse)

Aggregations

SendSmsRequest (com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest)2 SendSmsResponse (com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse)2 ClientException (com.aliyuncs.exceptions.ClientException)1 OpcBizException (com.paascloud.provider.exceptions.OpcBizException)1 Test (org.junit.Test)1