UserServiceImpl.java 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package com.yaozhitech.spring5.service.impl;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import java.util.stream.Collectors;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Service;
  7. import org.springframework.util.CollectionUtils;
  8. import com.baomidou.mybatisplus.core.conditions.Wrapper;
  9. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  10. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  11. import com.yaozhitech.spring5.mapper.UserMapper;
  12. import com.yaozhitech.spring5.mapper.UserRelRoleMapper;
  13. import com.yaozhitech.spring5.model.ResourceDomain;
  14. import com.yaozhitech.spring5.model.RoleDomain;
  15. import com.yaozhitech.spring5.model.UserDomain;
  16. import com.yaozhitech.spring5.model.UserRelRoleDomain;
  17. import com.yaozhitech.spring5.service.RoleService;
  18. import com.yaozhitech.spring5.service.UserService;
  19. /**
  20. * <p>
  21. * 系统用户 服务实现类
  22. * </p>
  23. *
  24. * @author zeda
  25. * @since 2019-12-15
  26. */
  27. @Service
  28. public class UserServiceImpl extends ServiceImpl<UserMapper, UserDomain> implements UserService {
  29. @Autowired
  30. private UserRelRoleMapper userRelRoleMapper;
  31. @Autowired
  32. private RoleService roleService;
  33. @Override
  34. public List<RoleDomain> getRolesByUserId(Integer userId) {
  35. UserDomain userDomain = baseMapper.selectById(userId);
  36. Wrapper<UserRelRoleDomain> queryWrapper = new QueryWrapper<UserRelRoleDomain>().eq("user_uuid", userDomain.getUserUuid());
  37. List<UserRelRoleDomain> list = userRelRoleMapper.selectList(queryWrapper);
  38. List<RoleDomain> result = new ArrayList<RoleDomain>();
  39. if (!CollectionUtils.isEmpty(list)) {
  40. result = list.stream().map(userRelRole -> {
  41. return roleService.getByUuid(userRelRole.getRoleUuid());
  42. }).collect(Collectors.toList());
  43. }
  44. return result;
  45. }
  46. @Override
  47. public List<ResourceDomain> getApiResourcesByUserId(Integer userId) {
  48. return getResourcesByUserId(userId, 1);
  49. }
  50. @Override
  51. public List<ResourceDomain> getMenuResourcesByUserId(Integer userId) {
  52. return getResourcesByUserId(userId, 0);
  53. }
  54. @Override
  55. public List<ResourceDomain> getResourcesByUserId(Integer userId) {
  56. // TODO Auto-generated method stub
  57. return null;
  58. }
  59. private List<ResourceDomain> getResourcesByUserId(Integer userId, Integer type) {
  60. UserDomain userDomain = baseMapper.selectById(userId);
  61. Wrapper<UserRelRoleDomain> queryWrapper = new QueryWrapper<UserRelRoleDomain>().eq("user_uuid", userDomain.getUserUuid());
  62. List<UserRelRoleDomain> list = userRelRoleMapper.selectList(queryWrapper);
  63. List<ResourceDomain> result = new ArrayList<ResourceDomain>();
  64. if (!CollectionUtils.isEmpty(list)) {
  65. list.forEach(userRelRole -> result.addAll(roleService.getResourcesByRoleUuid(userRelRole.getRoleUuid(), type)));
  66. }
  67. return result.stream().distinct().collect(Collectors.toList());
  68. }
  69. }