12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- package com.yaozhitech.spring5.service.impl;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.stream.Collectors;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.util.CollectionUtils;
- import com.baomidou.mybatisplus.core.conditions.Wrapper;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.yaozhitech.spring5.mapper.UserMapper;
- import com.yaozhitech.spring5.mapper.UserRelRoleMapper;
- import com.yaozhitech.spring5.model.ResourceDomain;
- import com.yaozhitech.spring5.model.RoleDomain;
- import com.yaozhitech.spring5.model.UserDomain;
- import com.yaozhitech.spring5.model.UserRelRoleDomain;
- import com.yaozhitech.spring5.service.RoleService;
- import com.yaozhitech.spring5.service.UserService;
- /**
- * <p>
- * 系统用户 服务实现类
- * </p>
- *
- * @author zeda
- * @since 2019-12-15
- */
- @Service
- public class UserServiceImpl extends ServiceImpl<UserMapper, UserDomain> implements UserService {
- @Autowired
- private UserRelRoleMapper userRelRoleMapper;
-
- @Autowired
- private RoleService roleService;
-
- @Override
- public List<RoleDomain> getRolesByUserId(Integer userId) {
- UserDomain userDomain = baseMapper.selectById(userId);
-
- Wrapper<UserRelRoleDomain> queryWrapper = new QueryWrapper<UserRelRoleDomain>().eq("user_uuid", userDomain.getUserUuid());
- List<UserRelRoleDomain> list = userRelRoleMapper.selectList(queryWrapper);
- List<RoleDomain> result = new ArrayList<RoleDomain>();
- if (!CollectionUtils.isEmpty(list)) {
- result = list.stream().map(userRelRole -> {
- return roleService.getByUuid(userRelRole.getRoleUuid());
- }).collect(Collectors.toList());
- }
- return result;
- }
- @Override
- public List<ResourceDomain> getApiResourcesByUserId(Integer userId) {
- return getResourcesByUserId(userId, 1);
- }
- @Override
- public List<ResourceDomain> getMenuResourcesByUserId(Integer userId) {
- return getResourcesByUserId(userId, 0);
- }
- @Override
- public List<ResourceDomain> getResourcesByUserId(Integer userId) {
- // TODO Auto-generated method stub
- return null;
- }
-
- private List<ResourceDomain> getResourcesByUserId(Integer userId, Integer type) {
- UserDomain userDomain = baseMapper.selectById(userId);
-
- Wrapper<UserRelRoleDomain> queryWrapper = new QueryWrapper<UserRelRoleDomain>().eq("user_uuid", userDomain.getUserUuid());
- List<UserRelRoleDomain> list = userRelRoleMapper.selectList(queryWrapper);
-
- List<ResourceDomain> result = new ArrayList<ResourceDomain>();
- if (!CollectionUtils.isEmpty(list)) {
- list.forEach(userRelRole -> result.addAll(roleService.getResourcesByRoleUuid(userRelRole.getRoleUuid(), type)));
- }
- return result.stream().distinct().collect(Collectors.toList());
- }
-
- }
|