本模块由三个独立的 Service 实现类组成,均继承自 `BaseServiceImpl`(MyBatis-Plus 提供的通用 CRUD),并通过 Spring `@Service` 装配: - `SysDeptServiceImpl`:最复杂,负责部门树的增删改,维护 `ancestors` 祖级链字段,移动时递归重写后代祖先链并校验环引用;删除前检查主/兼职成员占用;通过 `DeptTreeCache.invalidate()` 失效缓存。 - `SysMenuServiceImpl`:基于 `SysRoleMenuMapper` 按角色 ID 查询关联的菜单 ID 列表。 - `SysRoleServiceImpl`:纯 CRUD 包装,无额外业务逻辑。 依赖方向单向向下:Service → Mapper → Entity,不反向依赖 Controller 或上层业务。