车间能级提升-智能设备管理系统
zhuguifei
2025-02-27 ec4d16c8a630960a4671a60f4d1957fd3de9def3
eims/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java
@@ -42,6 +42,8 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
/**
 * 用户 业务层处理
@@ -556,6 +558,33 @@
        return baseMapper.selectVoList(lqw);
    }
    @Override
    public List<SysUserVo> selectDeptRoleUserList(SysUserBo user) {
        List<SysUserVo> result = new ArrayList<>();
        if (user.getDeptId() == null) return result;
        LambdaQueryWrapper<SysUser> queryWrapper = Wrappers.lambdaQuery();
        queryWrapper.eq(SysUser::getDeptId, user.getDeptId());
        List<SysUserVo> deptUserList = baseMapper.selectVoList(queryWrapper);
        if (user.getRoleKey() != null) {
            LambdaQueryWrapper<SysRole> roleWrapper = Wrappers.lambdaQuery();
            roleWrapper.eq(SysRole::getRoleKey, user.getRoleKey());
            SysRole sysRole = roleMapper.selectOne(roleWrapper);
            if (sysRole != null) {
                LambdaQueryWrapper<SysUserRole> userRoleWrapper = Wrappers.lambdaQuery();
                userRoleWrapper.eq(SysUserRole::getRoleId, sysRole.getRoleId());
                List<SysUserRole> sysUserRoles = userRoleMapper.selectList(userRoleWrapper);
                Set<Long> roleUserIds = sysUserRoles.stream()
                    .map(SysUserRole::getUserId)
                    .collect(Collectors.toSet());
                deptUserList = deptUserList.stream()
                    .filter(u -> roleUserIds.contains(u.getUserId()))
                    .toList();
                result.addAll(deptUserList);
            }
        }
       return result;
    }
    /**
     * 通过用户ID查询用户账户
     *