--- title: 组织管理 | 多租户 CRUD 与状态管理 - MengStack官方文档 --- # 组织管理 组织管理模块提供租户(Tenant)的完整生命周期管理,是多租户系统的基础。 ## 数据模型 ```go type Tenant struct { ID string // UUID 主键 Name string // 组织名称 Slug string // 唯一标识符(用于 URL 友好展示) Status int // 1=启用, 0=禁用 Settings string // JSON 扩展配置 CreatedAt time.Time UpdatedAt time.Time } ``` ## 核心能力 | 能力 | 说明 | |------|------| | 创建租户 | 自动生成 UUID,需提供 name 和 slug | | 查询租户 | 支持列表查询和单条详情查询 | | 更新租户 | 可修改名称、slug、状态 | | 删除租户 | 级联清理关联数据 | | 状态管理 | 启用 / 禁用租户,禁用后该租户用户无法登录 | ## 使用方式 ### 创建租户 ```bash curl -X POST http://localhost:2222/api/v1/org/tenants \ -H "Authorization: Bearer " \ -H "Content-Type: application/json" \ -d '{ "name": "示例科技有限公司", "slug": "example-tech" }' ``` 响应: ```json { "code": 0, "message": "success", "data": { "id": "550e8400-e29b-41d4-a716-446655440000", "name": "示例科技有限公司", "slug": "example-tech", "status": 1, "created_at": "2026-10-03T10:00:00+08:00", "updated_at": "2026-10-03T10:00:00+08:00" } } ``` ### 禁用租户 ```bash curl -X PUT http://localhost:2222/api/v1/org/tenants/550e8400-e29b-41d4-a716-446655440000 \ -H "Authorization: Bearer " \ -H "Content-Type: application/json" \ -d '{"status": 0}' ``` ## 与多租户中间件的关系 组织管理模块负责租户数据的 CRUD,而多租户中间件(`X-Tenant-ID` header)负责在请求级别隔离数据。两者配合实现完整的多租户能力: 1. 通过 **组织管理 API** 创建租户 2. 用户登录时通过 **X-Tenant-ID** 指定所属租户 3. 中间件自动验证租户状态并注入上下文 4. 后续所有数据库操作自动按 `tenant_id` 过滤 ## API 端点 | 方法 | 路径 | 说明 | |------|------|------| | POST | `/api/v1/org/tenants` | 创建租户 | | GET | `/api/v1/org/tenants` | 列出所有租户 | | GET | `/api/v1/org/tenants/:id` | 获取租户详情 | | PUT | `/api/v1/org/tenants/:id` | 更新租户 | | DELETE | `/api/v1/org/tenants/:id` | 删除租户 | 详细接口参数见 [组织管理 API 参考](/api/org)。