行善不问回报,才是真的善良。若是动机不纯,善良与恶无异。
这里用的短信服务是阿里云短信
<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> </dependency>
|
@Api(tags = "短信接口") @RestController @RequestMapping("/api/msm") public class MsmApiController {
@Resource private MsmService msmService;
@Resource private RedisTemplate<String,String> redisTemplate;
@ApiOperation("发送手机验证码") @GetMapping("send/{phone}") public Result sendCode(@PathVariable String phone) { String code = redisTemplate.opsForValue().get(phone); if(!StringUtils.isEmpty(code)) { return Result.ok(); } code = RandomUtil.getSixBitRandom(); boolean isSend = msmService.send(phone,code); if(isSend) { redisTemplate.opsForValue().set(phone,code,2, TimeUnit.MINUTES); return Result.ok(); } else { return Result.fail().message("发送短信失败"); } } }
|
@Override public boolean send(String phone, String code) { if(StringUtils.isEmpty(phone)) { return false; } DefaultProfile profile = DefaultProfile. getProfile(ConstantPropertiesUtils.REGION_Id, ConstantPropertiesUtils.ACCESS_KEY_ID, ConstantPropertiesUtils.SECRECT); 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("PhoneNumbers", phone); request.putQueryParameter("SignName", "jlkjava学习网站"); request.putQueryParameter("TemplateCode", "SMS_204116185"); Map<String,Object> param = new HashMap(); param.put("code",code); request.putQueryParameter("TemplateParam", JSONObject.toJSONString(param));
try { CommonResponse response = client.getCommonResponse(request); System.out.println(response.getData()); return response.getHttpResponse().isSuccess(); } catch (ServerException e) { e.printStackTrace(); } catch (ClientException e) { e.printStackTrace(); } return false; }
|
![](https://jlkblog.oss-cn-shenzhen.aliyuncs.com/img/2022-2-07/Snipaste_2022-03-07_23-00-00.png)