// namespace SafeCampus.System; /// /// 组织架构服务 /// public interface ISysOrgService : ITransient { #region 查询 /// /// 检查组织是否存在 /// /// 组织列表 /// 组织名称 /// 父Id /// 组织Id /// 是否存在,存在返回组织ID bool IsExistOrgByName(List sysOrgList, string orgName, long parentId, out long orgId); /// /// 组织详情 /// /// id参数 /// 组织信息 Task Detail(BaseIdInput input); /// /// 根据组织ID获取 下级 /// /// 组织ID /// 是否包含自己 /// 组织列表 /// Task> GetChildListById(long orgId, bool isContainOneself = true, List sysOrgList = null); /// /// 获取所有组织 /// /// 是否显示禁用的 /// Task> GetListAsync(bool showDisabled = true); /// /// 获取机构及下级ID列表 /// /// /// /// 组织列表 /// Task> GetOrgChildIds(long orgId, bool isContainOneself = true, List sysOrgList = null); /// /// 根据组织Id递归获取上级 /// /// 组织列表 /// 组织Id /// 是否包含自己 /// List GetOrgParents(List allOrgList, long orgId, bool includeSelf = true); /// /// 获取组织信息 /// /// 组织id /// 组织信息 Task GetSysOrgById(long id); /// /// 组织分页查询 /// /// 查询参数 /// 分页信息 Task> Page(SysOrgPageInput input); /// /// 根据ID列表获取组织列表 /// /// /// Task> GetOrgListByIdList(IdListInput input); /// /// 获取租户列表 /// /// Task> GetTenantList(); /// /// 根据组织ID获取租户ID /// /// 组织id /// 租户id /// Task GetTenantIdByOrgId(long orgId, List sysOrgList = null); #endregion 查询 #region 新增 /// /// 添加组织 /// /// 添加参数 /// 名称 /// Task Add(SysOrgAddInput input, string name = SystemConst.SYS_ORG); /// /// 复制组织 /// /// 机构复制参数 /// Task Copy(SysOrgCopyInput input); #endregion 新增 #region 编辑 /// /// 编辑组织 /// /// 编辑参数 /// 名称 /// Task Edit(SysOrgEditInput input, string name = SystemConst.SYS_ORG); #endregion 编辑 #region 删除 /// /// 删除组织 /// /// 删除参数 /// 名称 /// Task Delete(BaseIdListInput input, string name = SystemConst.SYS_ORG); #endregion 删除 #region 其他 /// /// 构建组织树形结构 /// /// 组织列表 /// 父ID /// 树型结构 List ConstructOrgTrees(List orgList, long parentId = SafeCampusConst.ZERO); /// /// 刷新缓存 /// /// Task RefreshCache(); /// /// 获取组织树型结构 /// /// 机构ID列表 /// 组织选择器(懒加载用) /// 组织树列表 Task> Tree(List orgIds = null, SysOrgTreeInput treeInput = null); #endregion 其他 }