// 权限管理模块的核心接口和类
public interface PermissionService {
// 获取所有权限列表
List<Permission> listAllPermissions();
// 根据用户ID获取用户的所有权限
Set<String> listPermissionsByUserId(Long userId);
// 根据角色ID获取角色的所有权限
Set<String> listPermissionsByRoleId(Long roleId);
// 根据用户ID获取用户的所有角色ID
Set<Long> listRoleIdsByUserId(Long userId);
// 根据角色ID获取角色的所有菜单ID
Set<Long> listMenuIdsByRoleId(Long roleId);
// 根据用户ID获取用户的所有菜单ID
Set<Long> listMenuIdsByUserId(Long userId);
// 根据用户ID获取用户的所有按钮权限
Set<String> listButtonPermsByUserId(Long userId);
// 根据角色ID获取角色的所有按钮权限
Set<String> listButtonPermsByRoleId(Long roleId);
// 根据用户ID和菜单ID获取用户对该菜单的权限
String getMenuPermsByUserId(Long userId, Long menuId);
// 根据角色ID和菜单ID获取角色对该菜单的权限
String getMenuPermsByRoleId(Long roleId, Long menuId);
// 根据用户ID和角色ID获取用户对该角色的权限
String getRolePermsByUserId(Long userId, Long roleId);
// 根据用户ID获取用户的所有元素权限
Set<String> listElementPermsByUserId(Long userId);
// 根据角色ID获取角色的所有元素权限
Set<String> listElementPermsByRoleId(Long roleId);
// 根据用户ID和元素ID获取用户对该元素的权限
String getElementPermsByUserId(Long userId, Long elementId);
// 根据角色ID和元素ID获取角色对该元素的权限
String getElementPermsByRoleId(Long roleId, Long elementId);
// 保存权限
void savePermission(Permission permission);
// 更新权限
void updatePermission(Permission permission);
// 删除权限
void deletePermission(Long permissionId);
}
// 权限服务实现类
@Service
public class PermissionServiceImpl implements PermissionService {
// 注入Mapper
@Autowired
private PermissionMapper permissionMapper;
// ...实现接口的具体方法...
}
// 权限Mapper接口
public interface PermissionMapper {
// 查询所有权限列表
List<Permission> selectAllPermissions();
// 根据用户ID查询用户的所有权限
Set<String> selectPermissionsByUserId(@Param("userId") Long userId);
// 根据角色ID查询角色的所有权限
Set<String> selectPermissionsByRoleId(@Param("roleId") Long roleId);
// 根据用户ID查询用户的所有角色ID
Set<Long> selectRoleIdsByUserId(@Param("userId") Long userId);
// 根据角色ID查询角色的所有菜单ID
Set<Long> selectMenuIdsByRoleId(@Param("roleId") Long roleId);
// 根据用户ID查询用户的所有菜单ID
Set<Long> selectMenuIdsByUserId(@Param("userId") Long userId);
// 根据用户ID获取用户的所有按钮权限
Set<String> selectButtonPermsByUserId(@Param("userId") Long userId);
// 根据角色ID获取角色的所有按钮权限
Set<S
评论已关闭