# school_campus_person_role 表文档 ## 表概述 **表名**: school_campus_person_role **功能**: 校区人员角色关系表,用于管理人员在不同校区的角色分配和权限设置,支持多校区权限管理和组织架构维护 ## 字段说明 ``` Field Type Collation Null Key Default Extra Privileges Comment id int NULL NO PRI NULL auto_increment select,insert,update,references 关系编号 campus_id int NULL NO 0 select,insert,update,references 校区ID person_id int NULL NO NULL select,insert,update,references 人员ID role_id int NULL NO NULL select,insert,update,references 角色ID dept_id int NULL YES NULL select,insert,update,references 部门表 created_at timestamp NULL YES CURRENT_TIMESTAMP DEFAULT_GENERATED select,insert,update,references 创建时间 updated_at timestamp NULL YES CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP select,insert,update,references 更新时间 deleted_at int NULL NO 0 select,insert,update,references 逻辑删除时间 phone varchar(255) utf8mb4_general_ci YES NULL select,insert,update,references task_num int NULL NO 0 select,insert,update,references ``` ## 功能用途 ### 主要功能 - **人员角色分配**: 管理人员在不同校区的角色分配和权限设置 - **多校区权限管理**: 支持人员在多个校区拥有不同角色和权限 - **部门关联管理**: 关联人员在特定校区的部门归属关系 - **任务数量统计**: 记录人员在该校区角色下的任务数量 - **联系方式管理**: 存储人员在该校区的联系电话信息 - **时间追踪**: 记录角色分配的创建和更新时间 - **逻辑删除支持**: 支持逻辑删除功能,保留历史角色分配记录 - **权限继承**: 支持角色权限的继承和覆盖机制 ### 业务场景 - **多校区管理**: 集团化运营中人员在不同校区担任不同角色 - **权限分级管理**: 根据校区和角色进行细粒度的权限控制 - **人员调动**: 处理人员在校区间的调动和角色变更 - **临时授权**: 为人员在特定校区临时分配角色和权限 - **部门协作**: 管理跨部门、跨校区的人员协作关系 - **任务分配**: 基于校区角色进行任务的分配和管理 - **绩效考核**: 按校区和角色维度进行人员绩效评估 - **组织架构管理**: 维护复杂的多校区组织架构关系 - **应急响应**: 在紧急情况下快速调配人员和权限 ## 关联关系 ### 主要关联表 - **school_campus**: 校区表,关联人员所属的校区信息 - **school_personnel**: 人员表,关联具体的人员基本信息 - **school_sys_role**: 系统角色表,关联人员被分配的角色 - **school_department**: 部门表,关联人员在校区的部门归属 - **school_sys_user**: 系统用户表,关联人员的登录账户信息 - **school_permission**: 权限表,通过角色关联具体的权限设置 - **school_task**: 任务表,关联人员在该角色下的具体任务 - **school_organization**: 组织架构表,关联校区的组织结构 ### 关联说明 - `campus_id` 关联 `school_campus.id`,标识人员所属的校区 - `person_id` 关联 `school_personnel.id`,标识被分配角色的人员 - `role_id` 关联 `school_sys_role.id`,标识人员被分配的角色 - `dept_id` 关联 `school_department.id`,标识人员在校区的部门归属 - 与权限系统关联,实现基于校区和角色的权限控制 - 与工作流系统关联,支持角色变更的审批流程 - 与考勤系统关联,按校区角色进行考勤管理 ## 索引建议 - **主键索引**: `PRIMARY KEY (id)` - 自动创建 - **校区索引**: `INDEX idx_campus_id (campus_id)` - 支持按校区查询人员角色 - **人员索引**: `INDEX idx_person_id (person_id)` - 支持按人员查询角色分配 - **角色索引**: `INDEX idx_role_id (role_id)` - 支持按角色查询人员 - **部门索引**: `INDEX idx_dept_id (dept_id)` - 支持按部门查询 - **电话索引**: `INDEX idx_phone (phone)` - 支持按联系方式查询 - **时间索引**: `INDEX idx_created_at (created_at)` - 支持按创建时间查询 - **逻辑删除索引**: `INDEX idx_deleted_at (deleted_at)` - 支持逻辑删除查询 - **复合索引**: `INDEX idx_campus_person (campus_id, person_id)` - 支持校区和人员的复合查询 - **唯一索引**: `UNIQUE INDEX uk_campus_person_role (campus_id, person_id, role_id, deleted_at)` - 防止重复分配 ## 注意事项 - **权限冲突检查**: 分配角色时需要检查权限冲突,避免权限过度集中 - **角色继承规则**: 明确角色权限的继承和覆盖规则,避免权限混乱 - **数据一致性**: 确保人员、校区、角色数据的一致性和完整性 - **权限审计**: 定期审计人员的角色分配,确保权限的合理性 - **批量操作控制**: 对批量角色分配操作进行严格控制和审批 - **历史记录保留**: 保留角色分配的历史记录,支持权限变更的追溯 - **并发控制**: 在高并发环境下确保角色分配的原子性 - **权限缓存**: 合理使用权限缓存,提高系统性能 - **安全控制**: 严格控制超级管理员等高权限角色的分配 - **监控告警**: 建立权限异常变更的监控告警机制