美文网首页
秒杀第十节:用户模型管理-用户登陆功能实现

秒杀第十节:用户模型管理-用户登陆功能实现

作者: 小石读史 | 来源:发表于2020-07-28 09:37 被阅读0次

首先在UserService中新建登陆接口

 /**
     * 登陆验证
     * @param telphone 用户注册的手机
     * @param encrptPassword 用户加密后的密码
     */
    UserModel validateLogin(String telphone,String encrptPassword) throws BussinessException;

在UserServiceImpl中实现validateLogin方法

@Override
    public UserModel validateLogin(String telphone, String encrptPassword) throws BussinessException {
        //通过用户的手机获取用户信息
        UserDO userDO = userDOMapper.selectByTelphone(telphone);
        if(userDO == null) {
            throw new BussinessException(EmBusinessError.USER_LOGIN_FAIL);
        }
        UserPasswordDO userPasswordDO = userPasswordDOMapper.selectByUserId(userDO.getId());
        UserModel userModel = convertFromDataObject(userDO,userPasswordDO);
        //拿到用户信息内加密的密码是否和传输的是否相匹配
        if(!StringUtils.equals(encrptPassword,userModel.getEncrptPassword())){
            throw new BussinessException(EmBusinessError.USER_LOGIN_FAIL);
        }
        return userModel;
    }

因为要使用手机号查询用户信息,所以在UserDOMapper中新增根据手机号查询用户信息的方法

UserDO selectByTelphone(String telphone);

在UserDOMapper.xml中实现selectByTelphone方法

<select id="selectByTelphone" resultMap="BaseResultMap">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu Mar 28 16:33:51 CST 2019.
    -->
    select
    <include refid="Base_Column_List" />
    from user_info
    where telphone = #{telphone,jdbcType=VARCHAR}
  </select>

测试请求参数:http://localhost:8080/user/login?telphone=12345678912&password=123456
返回值:
{
"status": "success",
"data": null
}

相关文章

网友评论

      本文标题:秒杀第十节:用户模型管理-用户登陆功能实现

      本文链接:https://www.haomeiwen.com/subject/sfjzkktx.html