use of com.company.project.entity.SysPermission in project springboot-manager by aitangbao.
the class PermissionServiceImpl method deleted.
/**
* 删除菜单权限
* 判断是否 有角色关联
* 判断是否有子集
*/
@Transactional(rollbackFor = Exception.class)
@Override
public void deleted(String permissionId) {
// 获取关联userId
List<String> userIds = getUserIdsById(permissionId);
SysPermission sysPermission = sysPermissionMapper.selectById(permissionId);
if (null == sysPermission) {
log.error("传入 的 id:{}不合法", permissionId);
throw new BusinessException(BaseResponseCode.DATA_ERROR);
}
// 获取下一级
List<SysPermission> childs = sysPermissionMapper.selectList(Wrappers.<SysPermission>lambdaQuery().eq(SysPermission::getPid, permissionId));
if (!CollectionUtils.isEmpty(childs)) {
throw new BusinessException(BaseResponseCode.ROLE_PERMISSION_RELATION);
}
sysPermissionMapper.deleteById(permissionId);
// 删除和角色关联
rolePermissionService.remove(Wrappers.<SysRolePermission>lambdaQuery().eq(SysRolePermission::getPermissionId, permissionId));
if (!CollectionUtils.isEmpty(userIds)) {
// 刷新权限
userIds.parallelStream().forEach(httpSessionService::refreshUerId);
}
}
use of com.company.project.entity.SysPermission in project springboot-manager by aitangbao.
the class PermissionServiceImpl method getPermissionsByUserId.
/**
* 获取权限标识
*/
@Override
public Set<String> getPermissionsByUserId(String userId) {
List<SysPermission> list = getPermission(userId);
Set<String> permissions = new HashSet<>();
if (CollectionUtils.isEmpty(list)) {
return null;
}
for (SysPermission sysPermission : list) {
if (!StringUtils.isEmpty(sysPermission.getPerms())) {
permissions.add(sysPermission.getPerms());
}
}
return permissions;
}
use of com.company.project.entity.SysPermission in project springboot-manager by aitangbao.
the class PermissionServiceImpl method selectAllMenuByTree.
/**
* 获取所有的目录菜单树排除按钮
* 因为不管是新增或者修改
* 选择所属菜单目录的时候
* 都不可能选择到按钮
* 而且编辑的时候 所属目录不能
* 选择自己和它的子类
*/
@Override
public List<PermissionRespNode> selectAllMenuByTree(String permissionId) {
List<SysPermission> list = selectAll();
if (!CollectionUtils.isEmpty(list) && !StringUtils.isEmpty(permissionId)) {
for (SysPermission sysPermission : list) {
if (sysPermission.getId().equals(permissionId)) {
list.remove(sysPermission);
break;
}
}
}
List<PermissionRespNode> result = new ArrayList<>();
// 新增顶级目录是为了方便添加一级目录
PermissionRespNode respNode = new PermissionRespNode();
respNode.setId("0");
respNode.setTitle("默认顶级菜单");
respNode.setSpread(true);
respNode.setChildren(getTree(list, true));
result.add(respNode);
return result;
}
Aggregations