本文共 2510 字,大约阅读时间需要 8 分钟。
4.3.1 用户注册判断验证码
(1)修改 pinyougou-user-interface 的 UserService.java/***判断短信验证码是否存在*@param phone*@return*/public boolean checkSmsCode(String phone,String code);(2)修改 pinyougou-user-service 的 UserServiceImpl.java/*** 判断验证码是否正确*/public boolean checkSmsCode(String phone,String code){//得到缓存中存储的验证码String sysCode = (String) redisTemplate.boundHashOps("smscode").get(phone);if(sysCode==null){ return false;}if(!sysCode.equals(code)){ return false;}return true;}(3)修改 pinyougou-user-web 的 UserController.java/***增加*@param user*@return*/ @RequestMapping("/add")public Result add(@RequestBody TbUser user,String smscode){boolean checkSmsCode = userService.checkSmsCode(user.getPhone(), smscode);if(checkSmsCode==false){return new Result(false, "验证码输入错误!");}try {userService.add(user);return new Result(true, "增加成功");} catch (Exception e) { e.printStackTrace();return new Result(false, "增加失败");}}(4)修改 pinyougou-user-web 的 userService.js//增加this.add=function(entity,smscode){return $http.post('../user/add.do?smscode='+smscode ,entity );}(5)修改 pinyougou-portal-web 的 UserController.java//保存$scope.reg=function(){userService.add( $scope.entity, $scope.smscode ).success(function(response){ alert(response.message);});}(6)修改页面,绑定变量 获取短信验证码4.3.1 短信验证码发送到手机(1)在 pinyougou-user-service 添加配置文件 applicationContext-activemq.xml@Autowiredprivate JmsTemplate jmsTemplate; @Autowiredprivate Destination smsDestination;@Value("${template_code}")private String template_code;@Value("${sign_name}")private String sign_name;/*** 生成短信验证码*/public void createSmsCode(final String phone){//生成 6 位随机数final String code = (long) (Math.random()*1000000)+"";System.out.println("验证码:"+code);//存入缓存redisTemplate.boundHashOps("smscode").put(phone, code);//发送到 activeMQjmsTemplate.send(smsDestination, new MessageCreator() {@Overridepublic Message createMessage(Session session) throws JMSException {MapMessage mapMessage = session.createMapMessage(); mapMessage.setString("mobile", phone);//手机号mapMessage.setString("template_code", "SMS_85735065");//模板编号 mapMessage.setString("sign_name", "黑马");//签名Map m=new HashMap<>(); m.put("number", code);mapMessage.setString("param", JSON.toJSONString(m));//参数return mapMessage;}});}(3)在 pinyougou-common 的 properties 目录下创建配置文件 sms.propertiestemplate_code=SMS_85735065sign_name=\u9ED1\u9A6C
转载于:https://blog.51cto.com/13517854/2304053