组织岗位
受众:开发者 / 运维 摘要:Core Organization 岗位与用户岗位关系底座,负责岗位 CRUD、用户岗位分配和组织维度岗位约束。
Organization 是 IAM 统一账号体系的组织扩展。IAM 维护用户、租户、组织、部门和权限;Organization 维护岗位和用户岗位关系。
能力范围
| 能力 | 说明 |
|---|---|
| 岗位管理 | 岗位分页、详情、新增、修改和删除 |
| 用户岗位 | 查询和分配用户岗位关系 |
| 组织约束 | 岗位隶属组织,避免跨组织误分配 |
| 权限 seed | 岗位和用户岗位权限、菜单由本模块维护 |
API 路径
| API | 说明 |
|---|---|
GET /api/v1/organization/posts | 岗位分页 |
GET /api/v1/organization/posts/{id} | 岗位详情 |
POST /api/v1/organization/posts | 新增或修改岗位 |
GET /api/v1/organization/users/{userId}/posts | 查询用户岗位 |
权限前缀为 organization:post:* 和 organization:user-post:*。
数据模型
| 表 | 说明 |
|---|---|
organization_post | 岗位基础信息和组织归属 |
organization_user_post | 用户与岗位关系 |
迁移归属:
| 文件 | 说明 |
|---|---|
spring-open-core/spring-open-core-organization/src/main/resources/db/changelog/migrations/0000_00_00_019000_core_organization_create_tables.xml | 建表 |
spring-open-core/spring-open-core-organization/src/main/resources/db/changelog/migrations/0000_00_00_019100_core_organization_seed_data.xml | 权限、菜单和角色绑定 |
与其他模块的边界
- 用户、租户、组织、部门、角色和数据范围仍归 IAM。
- 岗位和用户岗位关系归 Organization。
- 重新分配用户岗位时,应物理清理当前主体旧关系或恢复既有行,不能依赖逻辑删除绕过组合唯一键。
- 不保留历史 System 路由、权限或
sys表名前缀兼容层。
验证命令
bash
./mvnw -pl spring-open-core/spring-open-core-organization -am test -DskipITs -DskipFrontend -Dsurefire.failIfNoSpecifiedTests=false
./.ai/scripts/check modules
./.ai/scripts/check migrations
git diff --check