发表于: 2018-03-12 22:32:44
1 522
今天完成的事情:
首先是将阿里云的工具类提取成自己的工具类添加到自己的项目中,然后加入随机数生成六位验证码,然后设置几分钟之内不输入验证码就跳转到注册失败直到用户重新获取验证码重置计时器。
@RequestMapping(value = "/sms", method = RequestMethod.GET)
public String check(@RequestParam("cellphone") String tel) throws Exception {
System.out.println(tel);
timeBgein = new Date().getTime();
System.out.println("验证开始时间:" + timeBgein);
code = String.valueOf((int) ((Math.random() * 9 + 1) * 100000));
System.out.println("验证码为:" + code);
Checks cherks = new Checks();
cherks.setTcheck(code);
cherks.setTel(tel);
checksService.insert(cherks);
String b = MoblieMessageUtil.sendSms(tel, code).getCode();
System.out.println("反馈代码:" + b);
if (b.equals("OK")) {
return "welcome";
} else {
return "index";
}
}
返回结果为:
.png)

因为需要考虑到验证码如何保存的问题,额外添加了一张表,用来存放验证码。
.png)

明天计划的事情:
遇到的问题:
1.在查询验证码的时候,数据库总是报类型转换失败,尝试几次之后,从以前的项目中明白是自己没有设置好返回值类型。
resultType="需要的返回值类型",进行适当的修改之后,问题解决。
2.新建验证码表的时候,一个字段为check,然后sql语句报错。后来猜是不是因为关键词的原因,发现是check约束,更改字段名之后,问题解决。
3.在验证时间差的时候,总是验证无法通过,输出的时间差为0。仔细查阅之后,发现除以1000后,数值小于1,转换为int类型之后,就成了0.
然后将时间除以100之后,显示的就是正常的验证。
正确结果如下:
.png)

收获:
1.和师弟讨论了一下更新时间和创建时间,对navicat和数据库操作的区别有了一个新的了解。
2.处理问题一定要快准,不要在多余的事情上浪费时间。
进度:
开始时间:2018.02.08
预计demo时间:2018.03.14
http://task.ptteng.com/zentao/project-task-490.html
评论