可以把相关的信息抽取到配置文件,方便后期维护
@Value("${sms.appkey}")
private String appkey;
@Value("${sms.url}")
private String msgurl;
@Override
public void sendVerifyCode(String phone) {
//1.生成验证码
String code = UUID.randomUUID().toString().replaceAll("-", "").substring(0, 4);
//2.存储验证码到redis
userInfoRedisService.setVerifyCode(phone,code);
//3.发送验证码
String content = "【XXX】你的验证码是:" + code + "," + RedisKeys.VERIFY_CODE + " 分钟内有效!";
RestTemplate restTemplate = new RestTemplate(); //使用RestTemplate对象发送
String url = msgurl + "?mobile=" + phone + "&content=" +content+ "&appkey=" + appkey;
String respMsg = restTemplate.getForObject(url,String.class);
//通过获取响应回来的信息是否包含Success来判断,不同的接口,方式不同
if (!respMsg.contains("Success")) {
throw new LogicException("验证码发送失败");
}
}