类 OrganizationController

java.lang.Object
io.github.lishangbu.orange.rbac.controller.OrganizationController

@RestController @RequestMapping("/organization") public class OrganizationController extends Object
组织控制器

提供组织的分页、条件查询、增删改查等 RESTFUL API 支持多级组织架构的管理与查询

从以下版本开始:
2025/10/16
作者:
lishangbu
  • 构造器详细资料

    • OrganizationController

      public OrganizationController()
  • 方法详细资料

    • page

      @GetMapping("/page") public com.baomidou.mybatisplus.core.metadata.IPage<OrganizationTreeNode> page(com.baomidou.mybatisplus.extension.plugins.pagination.Page<Organization> page, Organization condition)
      分页查询角色列表

      参数:
      page - 分页参数,包含页码和每页大小
      condition - 查询条件,包含角色代码、名称、启用状态等字段
      返回:
      角色分页数据,包含列表和分页信息
    • create

      @PostMapping public Organization create(@RequestBody @Valid @Valid Organization organization)
      新增组织
      参数:
      organization - 组织实体,包含名称、启用状态等信息
      返回:
      新增后的组织实体
    • update

      @PutMapping public void update(@RequestBody @Valid @Valid Organization organization)
      根据ID更新组织信息
      参数:
      organization - 组织实体,包含需更新的字段,ID不能为空
    • removeOrganizationByAncestorId

      @DeleteMapping("/ancestor/{id:\\d+}") public void removeOrganizationByAncestorId(@PathVariable Long id)
      根据ID删除组织
      参数:
      id - 组织ID
    • removeOrganizationByAncestorIds

      @DeleteMapping("/ancestors/{ids:\\d+(?:,\\d+)*}") public void removeOrganizationByAncestorIds(@PathVariable List<Long> ids)
      批量删除组织

      支持使用逗号分隔的路径参数传递多个 ID,例如 /1,2,3

      参数:
      ids - 组织ID列表,不能为空且元素为正整数
    • getById

      @GetMapping("/{id:\\d+}") public Organization getById(@PathVariable Long id)
      根据ID查询组织详情
      参数:
      id - 组织ID
      返回:
      组织实体,未找到时返回null
    • getOrganizationWithDescendants

      @GetMapping("/tree/descendants/{id:\\d+}") public List<OrganizationTreeNode> getOrganizationWithDescendants(@PathVariable Long id)
      查询指定组织及其所有下级组织(含自身)

      根据组织ID,递归返回该节点及其所有子孙节点,结果按 sortOrder、id 升序排列

      参数:
      id - 组织ID
      返回:
      组织及其所有下级组织列表
    • listAllChildrenByParentId

      @GetMapping("/tree/children/{parentId:\\d+}") public List<OrganizationTreeNode> listAllChildrenByParentId(@PathVariable Long parentId)
      递归查询所有子节点(不包含当前节点)

      根据指定父组织ID,返回其所有下级组织(多级),不包含父节点本身 结果按 sortOrder、id 升序排列

      参数:
      parentId - 父组织ID
      返回:
      所有子孙节点的组织列表