首先在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
}
网友评论