package org.hepx.ticket.service; import org.hepx.ticket.entity.User; import org.hepx.ticket.mapper.UserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; @Service @Transactional public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Autowired private PasswordHelper passwordHelper; @Autowired private RoleService roleService; /** * 创建用户 * * @param user */ public User createUser(User user) { //加密密码 passwordHelper.encryptPassword(user); //默认不锁 user.setLocked(Boolean.FALSE); userMapper.createUser(user); return user; } @Override public User updateUser(User user) { userMapper.updateUser(user); return user; } @Override public void deleteUser(Long userId) { userMapper.deleteUser(userId); } /** * 修改密码 * * @param userId * @param newPassword */ public void changePassword(Long userId, String newPassword) { User user = userMapper.findOne(userId); user.setPassword(newPassword); passwordHelper.encryptPassword(user); userMapper.updateUser(user); } @Override public User findOne(Long userId) { return userMapper.findOne(userId); } @Override public List<User> findAll() { return userMapper.findAll(); } /** * 根据用户名查找用户 * * @param username * @return */ public User findByUsername(String username) { return userMapper.findByUsername(username); } /** * 根据用户名查找其角色 * * @param username * @return */ public Set<String> findRoles(String username) { User user = findByUsername(username); if (user == null) { return Collections.EMPTY_SET; } return roleService.findRoles(user.getRoleIds().toArray(new Long[0])); } /** * 根据用户名查找其权限 * * @param username * @return */ public Set<String> findPermissions(String username) { User user = findByUsername(username); if (user == null) { return Collections.EMPTY_SET; } return roleService.findPermissions(user.getRoleIds().toArray(new Long[0])); } }