| | |
| | | import cn.gistack.sm.sms.util.SmsUtils; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springblade.core.redis.cache.BladeRedis; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | |
| | | |
| | | private final ISmsRecordService smsRecordService; |
| | | |
| | | |
| | | private final BladeRedis bladeRedis; |
| | | |
| | | /** |
| | | * 发送登录验证码 |
| | | * request 必须包含手机号(多个手机号以英文逗号分隔) |
| | |
| | | public R test(@RequestBody SMSSendRequest request){ |
| | | //设置模板相关信息 |
| | | String templateId = "2431012205498"; |
| | | String content = "您的登录验证码是" + SmsUtils.getRandNumber() + ",5分钟内有效,请勿泄漏,如非本人操作,请忽略此信息"; |
| | | String randNumber = SmsUtils.getRandNumber(); |
| | | String content = "您的登录验证码是" + randNumber + ",5分钟内有效,请勿泄漏,如非本人操作,请忽略此信息"; |
| | | request.setMessageContent(content); |
| | | request.setTemplateId(templateId); |
| | | // 发送操作 |
| | | String sendMsg = SmsUtils.sendMsg(request); |
| | | // 记录发送记录操作 |
| | | saveSendRecord(request,sendMsg); |
| | | // 保存验证码到 redis |
| | | saveCodeForRedis(request.getUserNumber(),randNumber); |
| | | // 返回发送信息 |
| | | return R.data(sendMsg); |
| | | } |
| | | |
| | | /** |
| | | * 保存验证码到 redis |
| | | * @param userNumber |
| | | * @param randNumber |
| | | */ |
| | | private void saveCodeForRedis(String userNumber, String randNumber) { |
| | | bladeRedis.setEx(userNumber,randNumber,5*60L); |
| | | } |
| | | |
| | | /** |
| | | * 发送记录保存 |
| | | * @param request 发送信息 |
| | | * @param sendMsg 响应数据 |