/** * 根据角色ID查找剩余的功能列表 * * @param roleId 角色ID * @return 功能列表 */ public List<Function> findLeftFunctionsByRoleId(Long roleId) { List<Function> leftFunctions = new ArrayList<Function>(); List<Function> functions = new ArrayList<Function>(); Role role = roleDao.get(roleId); if (null != role) { Set<Function> functionSet = role.getFunctions(); for (Function function : functionSet) { // 过滤Root类型的功能(functionParen为0) // if (0 != function.getFunctionParent()) { functions.add(function); // } } } List<Function> allFunctions = functionDao.loadAll(); for (Function functionDB : allFunctions) { // 过滤Root类型的功能(functionParen为0) // if (0 != functionDB.getFunctionParent()) { leftFunctions.add(functionDB); // } } leftFunctions.removeAll(functions); return leftFunctions; }
/** * 通过角色ID查找角色 * * @param roleId 角色ID * @return 角色 */ public Role loadRole(Long roleId) { return (Role) roleDao.get(roleId); }
/** * 根据角色ID移除角色 * * @param roleId 角色ID */ public void deleteRole(Long roleId) { Role role = roleDao.get(roleId); roleDao.delete(role); }