ADD file via upload

master
moec42frf 2 years ago
parent 6a222f8367
commit 21cc112de4

@ -0,0 +1,97 @@
package org.sang.service;
import org.sang.bean.Role;
import org.sang.bean.User;
import org.sang.mapper.RolesMapper;
import org.sang.mapper.UserMapper;
import org.sang.utils.Util;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service
@Transactional
public class UserService implements UserDetailsService {
@Autowired
UserMapper userMapper;
@Autowired
RolesMapper rolesMapper;
@Autowired
PasswordEncoder passwordEncoder;
@Override
public UserDetails loadUserByUsername(String s) throws UsernameNotFoundException {
User user = userMapper.loadUserByUsername(s);
if (user == null) {
//避免返回null这里返回一个不含有任何值的User对象在后期的密码比对过程中一样会验证失败
return new User();
}
//查询用户的角色信息并返回存入user中
List<Role> roles = rolesMapper.getRolesByUid(user.getId());
user.setRoles(roles);
return user;
}
/**
* @param user
* @return 0
* 1
* 2
*/
public int reg(User user) {
User loadUserByUsername = userMapper.loadUserByUsername(user.getUsername());
if (loadUserByUsername != null) {
return 1;
}
//插入用户,插入之前先对密码进行加密
user.setPassword(passwordEncoder.encode(user.getPassword()));
user.setEnabled(true);//用户可用
long result = userMapper.reg(user);
//配置用户的角色,默认都是普通用户
String[] roles = new String[]{"2"};
int i = rolesMapper.addRoles(roles, user.getId());
boolean b = i == roles.length && result == 1;
if (b) {
return 0;
} else {
return 2;
}
}
public int updateUserEmail(String email) {
return userMapper.updateUserEmail(email, Util.getCurrentUser().getId());
}
public List<User> getUserByNickname(String nickname) {
List<User> list = userMapper.getUserByNickname(nickname);
return list;
}
public List<Role> getAllRole() {
return userMapper.getAllRole();
}
public int updateUserEnabled(Boolean enabled, Long uid) {
return userMapper.updateUserEnabled(enabled, uid);
}
public int deleteUserById(Long uid) {
return userMapper.deleteUserById(uid);
}
public int updateUserRoles(Long[] rids, Long id) {
int i = userMapper.deleteUserRolesByUid(id);
return userMapper.setUserRoles(rids, id);
}
public User getUserById(Long id) {
return userMapper.getUserById(id);
}
}
Loading…
Cancel
Save