springboot 短信发送

@ApiOperation("短信发送接口")
    @PostMapping("/sendSms")
    public CommonResult<Object> sendSms(@RequestBody Request<Phone> request) {
        if(request==null||StringUtil.isBlank(request.getData().getPhone())){
            return CommonResult.validateFailed();
        }
        return couUserService.sendSms(request.getData().getPhone());
    }
 /**
     *   短信发送接口方法
     * @author tujr
     * @createTime 2020/8/28 0028 17:18
     **/

    CommonResult<Object> sendSms(String phone);
@Override
    public CommonResult<Object> sendSms(String phone) {
        //设置随机数
        String code= RandomNumberGenerator.getRandomNumber();
        //设置参数
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", keyId, secret);
        IAcsClient client = new DefaultAcsClient(profile);
        CommonRequest req = new CommonRequest();
        req.setMethod(MethodType.POST);
        req.setDomain("dysmsapi.aliyuncs.com");
        req.setVersion("2017-05-25");
        req.setAction("SendSms");
        req.putQueryParameter("RegionId", "cn-hangzhou");
        req.putQueryParameter("PhoneNumbers", phone);
        req.putQueryParameter("SignName", "SignName");
        req.putQueryParameter("TemplateCode", smsTemplate);
        req.putQueryParameter("TemplateParam", "{\"code\":\""+code+"\"}");
        CommonResponse response = null;
        try{
            response = client.getCommonResponse(req);
        }catch (ClientException e){
            log.debug("短信发送异常:"+e.getMessage());
            return CommonResult.failed("短信发送客户端异常,发送短信失败!");
        }
        if (!response.getData().contains("OK")) {
            return CommonResult.failed("发送短信失败!");
        }
        if(redisUtil.set(phone,code,(long)5000)){
            return CommonResult.success(code);
        }else {
            return CommonResult.failed("操作失败");
        }
    }



import java.util.Random;

public class RandomNumberGenerator {
    public static String getRandomNumber() {
        String code = "";
        Random random = new Random();
        for (int i = 0; i < 6; i++) {

            int r = random.nextInt(10);

            code = code + r;

        }
      return code;

    }


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

默语玄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值