- 更新 changelog.md: v0.2.0 记录 M2-M8 全部完成,路线图更新 - 新增 5 篇指南: RBAC、组织管理、审计日志、通知模块、质量横切 - 新增 5 篇 API 文档: RBAC(11)、Org(5)、Audit(1)、Settings(7)、Notification(7) - 更新 api/overview.md: 完整 37 端点列表 - 更新 config.ts: 侧边栏分组 + 11 页 SEO 元数据
93 lines
2.5 KiB
Markdown
93 lines
2.5 KiB
Markdown
---
|
||
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 <token>" \
|
||
-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 <token>" \
|
||
-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)。
|