阿里云短信验证码后端
@Controller
@RequestMapping(value="/sms")
public class xxSmsController extends BaseController{
@Resource(name = "xxSmsService")
private xxSmsService xxSmsService;/*** TODO* @方法描述:发送短信验证码【阿里云 云通讯短信API】* @设定文件:@param request* @设定文件:@return* @返回类型:Object* @throws :*/
@RequestMapping("/toSendCode")
@ResponseBody
public Object toSendCode(){Map<String,Object> map = new HashMap<String,Object>();try {//查询第一条开启状态的短信验证码接口PageData pd = new PageData();pd = this.getPageData();pd.put("use_flag", "1");//短信使用场景 1验证码 2短信通知 3推广短信 4群发助手 5其他List<PageData> messageface = appSmsService.searchMessageface(pd);if(messageface != null && messageface.size() > 0){String phone = pd.getString("phone");PageData face_info = messageface.get(0);String code = getThree();PageData sendSmsPD = new PageData();sendSmsPD.put("alive_flag", "1");sendSmsPD.put("alive_time", "600");sendSmsPD.put("code", code);sendSmsPD.put("content", "您的验证码为:"+code+",您正进行XX的身份验证,验证码10分钟内有效,打死不告诉别人!");sendSmsPD.put("phone", phone);sendSmsPD.put("type", "2");xxSmsService.editSmsSend(sendSmsPD);//先关闭同手机号其他的验证码xxSmsService.saveSmsSend(sendSmsPD);//保存验证码短信记录//从前往后:是否开启,key_id,key_secret,手机号,验证码,短信模板编码,短信签名SmsSendUtils.sendSmsVerificationCode(face_info.getString("message_will_open"), face_info.getString("key_id"), face_info.getString("key_secret"),phone, code, face_info.getString("message_remark_autograph"), face_info.getString("message_about_content"));map.put("retCode", "0000");map.put("msg", "短信发送成功");}else{map.put("retCode", "1111");map.put("msg", "未找到短信验证码接口");}} catch (Exception e) {// TODO: handle exceptione.printStackTrace();map.put("retCode", "1111");map.put("msg", "参数转换失败");}return map;
}/*** TODO* @方法描述:验证短信验证码 参数有 phone 和 code* @设定文件:@param request* @设定文件:@return* @返回类型:Object* @throws :*/
@RequestMapping("/checkCode")
@ResponseBody
public Object checkCode(HttpServletRequest request){Map<String,Object> map = new HashMap<String,Object>();try {PageData pd = new PageData();pd = this.getPageData();String phone = pd.getString("phone");String code = pd.getString("code");PageData sendSmsPD = new PageData();sendSmsPD.put("phone", phone);sendSmsPD.put("type", "1");xxSmsService.editSmsSend(sendSmsPD);sendSmsPD.put("alive_flag", "1");List<PageData> sms = xxSmsService.searchSmsSend(sendSmsPD);if(sms != null && sms.size() > 0){PageData codeSend = sms.get(0);if(code.equals(codeSend.getString("code"))){map.put("retCode", "0000");map.put("msg", "验证成功");}else{map.put("retCode", "1111");map.put("msg", "验证码错误");}}else {map.put("retCode", "1111");map.put("msg", "验证码错误");}} catch (Exception e) {// TODO: handle exceptione.printStackTrace();map.put("retCode", "1111");map.put("msg", "参数转换失败");}return map;
}/*** TODO* @方法描述:生成手机验证码* @设定文件:@return* @返回类型:String*/
public static String getThree(){ Random rad=new Random(); return rad.nextInt(1000000)+"";
}
}**sql 关闭同手机号其他的验证码**
<update id="editSmsSend" parameterType="pd">update 表 set alive_flag = 0 <if test='type != null and type != "" and type == "1"'>WHERE TIMESTAMPDIFF(SECOND, create_time, NOW()) > alive_time </if><if test='type != null and type != "" and type == "2"'>WHERE phone = #{phone} </if>
</update>
阿里云短信验证码后端相关推荐
- nodejs实现阿里云短信验证码
nodejs实现阿里云短信验证码 事先准备 1.开通阿里云短信服务 2.获取 AccessKey 代码编写 事先准备 1.开通阿里云短信服务 1⃣️登陆阿里云,然后进入到 https://dysms. ...
- 使用阿里云短信验证码API发送短信验证码(配置,获取短信验证码,注册,登录,密码重置)
获取阿里云短信验证码需要的配置信息. 如果是新用户,可以免费领取3个月,老用户的话就只能购买了,但是也不贵. 申请短信签名 申请短信模板 编写发送短信验证码的工具类 代码中我已经进行了详细的注释,也写 ...
- 阿里云短信验证码实战
一.创建阿里云短信权限用户 1.登陆阿里云之后我们点击头像,接着点击AccessKey: 2.选择开始使用子用户 : 3.我们先要创建一个用户组: 4.依次点击新建的用户组--授权管理,给用户组授权, ...
- 【阿里云短信验证码】麻瓜教程~~~从注册---申请---代码---执行
阿里云短信验证码 当然啦,学习任何东西第一步就是去注册当前网站的账号. 阿里云的官网:https://www.aliyun.com/?utm_content=se_1008364713 ◆[1.先注册 ...
- springboot 使用shiro集成阿里云短信验证码
目录 1.阿里云短信验证码服务 2.发送短信验证码 3.shiro配置多个realm 4.验证短信验证码 5.一些修改思路 引言:短信验证码是通过发送验证码到手机的一种有效的验证码系统,主要用于验证用 ...
- C# ASP.NET MVC 阿里云短信验证码Demo
相信大家在开发过程中又很多使用到验证码验证的功能,今天将验证码的验证整理一下写了一个Demo 通过本篇后你能学习到: 阿里云短信服务 Drapper连接SQL Server进行增改操作 JS前端倒计时 ...
- [风一样的创作]二次封装阿里云短信 验证码 发送短信 查询短信 编辑短信
1.首先要注册阿里云,购买阿里云短信服务,拿到AccessKey ID和AccessKey Secret 链接: https://usercenter.console.aliyun.com/#/man ...
- Thinkphp3.2开发阿里云短信验证码
之前一直使用的是创蓝253的短信验证码,开发起来比较方便,不想阿里云这么复杂.有兴趣的同学可以去看一下创蓝253的短信验证码(https://www.253.com). 今天主要说一下阿里云的短信验证 ...
- 阿里云短信验证码的坑.....
阿里云短信的坑 博主在集成阿里云短信的时候发生了此问题: 明明生成6位数字的验证码结果,通过阿里云短信发送出来有时只有5位. 解决办法也很简单我就直接贴代码,说原因了. 原因是: 问题原因:因为我返回 ...
- 短信验证--阿里云短信验证码接口
前言 公司最近项目需要一个手机验证码的功能,任务确定后,倍感亚历山大,以为和第三方对接的都好麻烦,查阿里的API.网上大神写的博客,各种查之后才发现,简单的一塌糊涂,这里想说个问题,不知道其他的攻城狮 ...
最新文章
- Redis 高级特性(3)—— 持久化及数据恢复
- [Android]上传到多个Maven仓库的Gradle插件RapidMavenPushPlugin
- 猫脸关键点检测大赛:三种方法,轻松实现猫脸识别!
- Android11——DataBinding的使用
- 如何使用开源SFU构建RTC云服务
- error: style attribute '@android:attr/windowEnterAnimation' not found.
- 第九次psp例行报告
- macos系统自动安装mysql_macos系统安装mysql
- group by 汇总
- 【损失函数】一文弄懂各种loss function
- 中国智能硬件调研报告
- 洛谷 P2342 叠积木 题解
- Shell 的加减乘除
- php 批量下载网页文件,批量下载文件(以xxx网站为例)
- 3到5年工作经验是如何回答面试中被问到的Java集合框架问题
- 蚂蚁金服Java岗内推,quartz定时器的处理
- LeetCode—5757. 矩阵中最大的三个菱形和(Get Biggest ...)[中等]—分析及代码(Java)
- 脑与认知神经科学Matlab Psytoolbox认知科学实验设计——实验设计一
- 中南大学计算机基础在线作业答案三,中南大学计算机基础三答案.doc
- DBLP实验数据集处理