发表于: 2020-09-13 21:48:03

0 1376


新建了一个java类    用来把注册页面输入的数据  打包成一个java对象传给控制层

public class postinfo {

   private  String username;

   private  String password;

   private  String againPassword;

   private  String phone;

   private  String email;

   private  String yzm;



写了俩控制类    一个发送验证码

另一个用来注册



具体实现逻辑  

错误类型都是自己返回


@RequestMapping(value "/sendYzm",method = RequestMethod.POST)
   public void send(String phone){
       String tel = phone;
       sendMessageUtil.sendTelCode(tel);
   }


   @RequestMapping(value "/PhoneRegister"method = RequestMethod.POST)
   public String register(postinfo postinfoHttpServletRequest request) {

       logger.info("传入参数+ postinfo);
       String u = postinfo.getUsername();
       String p = postinfo.getPassword();
       String pp = postinfo.getAgainPassword();
       String phone = postinfo.getPhone();
       String InputYzm = postinfo.getYzm();

       logger.info("用户输入的注册信息:"名字:+ u + "密码:+ p + "第二个密码:+ pp + "手机号:+ phone + "验证码:+ InputYzm);

       //判断输入的用户名是否为空 或者  空字符
       if (u != null && u != "") {
           logger.info("用户名不为空");
       else {
           String error = "用户名不能为空,请重新输入用户名";
           logger.info("用户名不能为空,请重新输入用户名");
           request.setAttribute("UserNameError"error);
           return "phoneRegister";
       }

       if (p != null && p != "") {
           logger.info("密码不为空");
       else {
           String error = "用户密码不能为空!";
           logger.info("用户密码不能为空!");
           request.setAttribute("PassError"error);
           return "phoneRegister";
       }

       if (p == pp) {

           logger.info("两次输入密码一致");
       else {
           String error = "两次输入密码不一致,请重新输入";
           logger.info("两次输入密码不一致");
           request.setAttribute("AgainPassError"error);
           return "phoneRegister";
       }

       //判断数据库中是否有此用户名
       MyAccount NameAccount = my.selectAccountByName(u);
       logger.info("根据用户名查询出的用户为+ NameAccount);

       //如果查询出的账户为空(代表用户不存在),才能注册
       if (ObjectUtils.isEmpty(NameAccount)) {
           logger.info("此用户名不存在,可以注册!");
       else {
           String error = "用户名已经存在,请更换用户名注册或直接登录";
           logger.info("用户名已经存在");
           request.setAttribute("UserNameError"error);
           return "phoneRegister";
       }

       if (phone != null && phone != "") {
           logger.info("手机号不为空,可以注册");
       else {
           String error = "手机号为空,请重新输入!";
           logger.info("手机号为空");
           request.setAttribute("PhoneError"error);
           return "phoneRegister";
       }

       MyAccount PhoneAccount = my.selectAccountByPhone(phone);
       logger.info("根据手机号查询出的用户为+ PhoneAccount);

       //如果查询出的账户为空(代表用户不存在),才能注册
       if (ObjectUtils.isEmpty(PhoneAccount)) {
           logger.info("手机号未被注册过,可以注册!");
       else {
           String error = "手机号已经被注册,请更换手机号或直接登录";
           logger.info("手机号已经被注册");
           request.setAttribute("PhoneError"error);
           return "phoneRegister";
       }

       if (InputYzm != null && InputYzm != "") {
           logger.info("验证码不为空");
       else {

           String error = "验证码为空,请输入验证码";
           logger.info("验证码为空");
           request.setAttribute("PhoneError"error);
           return "phoneRegister";
       }


       if (InputYzm != null && InputYzm != "") {
           logger.info("输入的验证码不为空");
       else {
           String error = "验证码为空,请输入验证码";
           logger.info("输入的验证码为空");
           request.setAttribute("YzmError"error);
           return "phoneRegister";
       }

       //获取缓存中的验证么
       String GetRedisYzm = (StringredisTemplate.opsForValue().get(phone);

       if (GetRedisYzm == null) {
           logger.info("缓存不为空,验证码还未到期");

           if (InputYzm == GetRedisYzm) {
               logger.info("验证码相同");

               //开始注册
               try {
                   MyAccount account = new MyAccount();
                   account.setUsername(u);
                   account.setPassword(p);
                   account.setPhone(phone);
                   logger.info("要注册的用户数据为:+ account);

                   //插入数据
                   int id = my.insertAccount(account);
                   logger.info("注册成功!");
                   //返回到登录页面
                   return "/login";

               catch (Exception e) {
                   String error = "注册失败,请再试试";
                   logger.info("注册失败,请重新输入");
                   request.setAttribute("error"error);
                   return "phoneRegister";
               }

           } else {
               String error = "验证码错误,请重新输入!";
               logger.info("验证码错误");
               request.setAttribute("YzmError"error);
               return "phoneRegister";
           }
       } else {
           String error = "验证码为空,请重新输入!";
           logger.info("验证码为空");
           request.setAttribute("YzmError"error);
           return "phoneRegister";
       }
   }
}

今日问题 暂无


返回列表 返回列表
评论

    分享到