|
|
|
@ -18,35 +18,39 @@ public class UserService {
|
|
|
|
|
this.passwordEncoder = passwordEncoder;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 用户注册
|
|
|
|
|
//用户注册
|
|
|
|
|
public User register(User user) throws UserAlreadyExistException, InvalidInputException {
|
|
|
|
|
// 输入检测
|
|
|
|
|
//输入检测
|
|
|
|
|
if (user.getUsername() == null || user.getUsername().trim().isEmpty()) {
|
|
|
|
|
throw new InvalidInputException("用户名不能为空");
|
|
|
|
|
}
|
|
|
|
|
if (user.getPassword() == null || user.getPassword().trim().isEmpty()) {
|
|
|
|
|
throw new InvalidInputException("密码不能为空");
|
|
|
|
|
}
|
|
|
|
|
//比较两次输入的密码
|
|
|
|
|
if (!user.getPassword().equals(user.getConfirmPassword())) {
|
|
|
|
|
throw new InvalidInputException("两次输入的密码不一致");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 检测用户名是否存在
|
|
|
|
|
//检测用户名是否存在
|
|
|
|
|
User existUser = userMapper.selectByUsername(user.getUsername());
|
|
|
|
|
if (existUser != null) {
|
|
|
|
|
throw new UserAlreadyExistException("用户已存在");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 密码加密
|
|
|
|
|
//密码加密
|
|
|
|
|
user.setPassword(passwordEncoder.encode(user.getPassword()));
|
|
|
|
|
|
|
|
|
|
// 插入用户
|
|
|
|
|
//插入用户
|
|
|
|
|
userMapper.insert(user);
|
|
|
|
|
return user;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//用户登录
|
|
|
|
|
public User login(String username, String password) throws Exception {
|
|
|
|
|
public User login(String username, String password) throws LoginFailedException {
|
|
|
|
|
User user = userMapper.selectByUsername(username);
|
|
|
|
|
if (user == null || !user.getPassword().equals(password)) {
|
|
|
|
|
throw new Exception("登陆失败,账号或密码错误");
|
|
|
|
|
if (user == null || !passwordEncoder.matches(password, user.getPassword())) {
|
|
|
|
|
throw new LoginFailedException("登陆失败,账号或密码错误");
|
|
|
|
|
}
|
|
|
|
|
return user;
|
|
|
|
|
}
|
|
|
|
|