Search in sources :

Example 1 with RoleDo

use of com.albedo.java.modules.sys.domain.RoleDo in project albedo by somowhere.

the class UserServiceImpl method getInfo.

/**
 * 通过查用户的全部信息
 *
 * @param userVo 用户
 * @return
 */
@Override
@Transactional(readOnly = true, rollbackFor = Exception.class)
public UserInfo getInfo(UserVo userVo) {
    UserInfo userInfo = new UserInfo();
    userInfo.setUser(userVo);
    List<RoleDo> roleDos = roleService.findListByUserId(userVo.getId());
    // 设置角色列表 (ID)
    List<Long> roleIds = roleDos.stream().map(RoleDo::getId).collect(Collectors.toList());
    userInfo.setRoles(ArrayUtil.toArray(roleIds, Long.class));
    // 设置权限列表(menu.permission)
    Set<String> permissions = new HashSet<>();
    roleIds.forEach(roleId -> {
        List<String> permissionList = menuService.findListByRoleId(roleId).stream().filter(menuVo -> StringUtil.isNotEmpty(menuVo.getPermission())).map(MenuVo::getPermission).collect(Collectors.toList());
        permissions.addAll(permissionList);
    });
    userInfo.setPermissions(ArrayUtil.toArray(permissions, String.class));
    return userInfo;
}
Also used : UserInfo(com.albedo.java.modules.sys.domain.vo.UserInfo) UserRoleDo(com.albedo.java.modules.sys.domain.UserRoleDo) RoleDo(com.albedo.java.modules.sys.domain.RoleDo) HashSet(java.util.HashSet) Transactional(org.springframework.transaction.annotation.Transactional)

Example 2 with RoleDo

use of com.albedo.java.modules.sys.domain.RoleDo in project albedo by somowhere.

the class UserServiceImpl method save.

@Override
public void save(@Valid UserExcelVo userExcelVo) {
    UserDto user = new UserDto();
    BeanUtils.copyProperties(userExcelVo, user);
    DeptDo deptDo = deptService.getOne(Wrappers.<DeptDo>query().lambda().eq(DeptDo::getName, userExcelVo.getDeptName()));
    if (deptDo != null) {
        user.setDeptId(deptDo.getId());
    }
    RoleDo roleDo = roleService.getOne(Wrappers.<RoleDo>query().lambda().eq(RoleDo::getName, userExcelVo.getRoleName()));
    ArgumentAssert.notNull(roleDo, () -> new BizException("无法获取角色" + userExcelVo.getRoleName() + "信息"));
    user.setRoleIdList(Lists.newArrayList(roleDo.getId()));
    saveOrUpdate(user);
}
Also used : UserDto(com.albedo.java.modules.sys.domain.dto.UserDto) BizException(com.albedo.java.common.core.exception.BizException) DeptDo(com.albedo.java.modules.sys.domain.DeptDo) UserRoleDo(com.albedo.java.modules.sys.domain.UserRoleDo) RoleDo(com.albedo.java.modules.sys.domain.RoleDo)

Example 3 with RoleDo

use of com.albedo.java.modules.sys.domain.RoleDo in project albedo by somowhere.

the class DeptServiceImpl method checkDept.

/**
 * 检查角色是否有用户信息
 *
 * @return
 */
private void checkDept(Long deptId, String deptName) {
    List<UserDo> userDoList = userRepository.selectList(Wrappers.<UserDo>lambdaQuery().eq(UserDo::getDeptId, deptId));
    ArgumentAssert.notEmpty(userDoList, "操作失败!用户:" + CollUtil.convertToString(userDoList, UserDo.F_USERNAME, StringUtil.COMMA) + "所属要操作的部门:" + deptName);
    List<RoleDo> roleDoList = roleRepository.findListByDeptId(deptId);
    ArgumentAssert.notEmpty(roleDoList, () -> new BizException("操作失败!角色:" + CollUtil.convertToString(roleDoList, RoleDo.F_NAME, StringUtil.COMMA) + "的权限信息属于要操作的部门:" + deptName));
}
Also used : UserDo(com.albedo.java.modules.sys.domain.UserDo) BizException(com.albedo.java.common.core.exception.BizException) RoleDo(com.albedo.java.modules.sys.domain.RoleDo)

Example 4 with RoleDo

use of com.albedo.java.modules.sys.domain.RoleDo in project albedo by somowhere.

the class RoleServiceImpl method lockOrUnLock.

@Override
public void lockOrUnLock(Set<Long> idList) {
    idList.forEach(id -> {
        SysCacheUtil.delRoleCaches(id);
        RoleDo roleDo = repository.selectById(id);
        roleDo.setAvailable(CommonConstants.YES.equals(roleDo.getAvailable()) ? CommonConstants.NO : CommonConstants.YES);
        repository.updateById(roleDo);
    });
}
Also used : RoleDo(com.albedo.java.modules.sys.domain.RoleDo)

Example 5 with RoleDo

use of com.albedo.java.modules.sys.domain.RoleDo in project albedo by somowhere.

the class UserRoleServiceImpl method initAdmin.

@Override
public boolean initAdmin(Long userId) {
    RoleDo roleDo = roleRepository.selectOne(Wraps.<RoleDo>lbQ().eq(RoleDo::getCode, CommonConstants.ADMIN_ROLE_CODE));
    ArgumentAssert.notNull(roleDo, "初始化用户角色失败, 无法查询到内置角色:%s", CommonConstants.ADMIN_ROLE_CODE);
    UserRoleDo userRoleDo = UserRoleDo.builder().userId(userId).roleId(roleDo.getId()).build();
    return super.save(userRoleDo);
}
Also used : UserRoleDo(com.albedo.java.modules.sys.domain.UserRoleDo) RoleDo(com.albedo.java.modules.sys.domain.RoleDo) UserRoleDo(com.albedo.java.modules.sys.domain.UserRoleDo)

Aggregations

RoleDo (com.albedo.java.modules.sys.domain.RoleDo)7 UserRoleDo (com.albedo.java.modules.sys.domain.UserRoleDo)3 BizException (com.albedo.java.common.core.exception.BizException)2 HashSet (java.util.HashSet)2 LogOperate (com.albedo.java.common.log.annotation.LogOperate)1 DeptDo (com.albedo.java.modules.sys.domain.DeptDo)1 UserDo (com.albedo.java.modules.sys.domain.UserDo)1 UserDto (com.albedo.java.modules.sys.domain.dto.UserDto)1 UserInfo (com.albedo.java.modules.sys.domain.vo.UserInfo)1 UserVo (com.albedo.java.modules.sys.domain.vo.UserVo)1 DataScope (com.albedo.java.plugins.database.mybatis.datascope.DataScope)1 PreAuthorize (org.springframework.security.access.prepost.PreAuthorize)1 GrantedAuthority (org.springframework.security.core.GrantedAuthority)1 UsernameNotFoundException (org.springframework.security.core.userdetails.UsernameNotFoundException)1 Transactional (org.springframework.transaction.annotation.Transactional)1