//------------------------------------------------------------------------------ // 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充 // 此代码版权(除特别声明外的代码)归作者本人Diego所有 // 源代码使用协议遵循本仓库的开源协议及附加协议 // Gitee源代码仓库:https://gitee.com/diego2098/ThingsGateway // Github源代码仓库:https://github.com/kimdiego2098/ThingsGateway // 使用文档:https://thingsgateway.cn/ // QQ群:605534569 //------------------------------------------------------------------------------ namespace ThingsGateway.Admin.Application; /// /// 资源服务接口,定义了资源相关操作的接口方法 /// public interface ISysResourceService { /// /// 更改父级 /// /// /// /// Task ChangeParentAsync(long id, long parentMenuId); /// /// 构造树形 /// /// 资源列表 /// 父ID /// IEnumerable ConstructMenuTrees(List resourceList, long parentId = 0); /// /// 复制资源到其他模块 /// /// /// /// Task CopyAsync(IEnumerable ids, long moduleId); /// /// 删除资源 /// /// id列表 /// Task DeleteResourceAsync(HashSet ids); /// /// 从缓存/数据库读取全部资源列表 /// /// 全部资源列表 Task> GetAllAsync(); /// /// 根据菜单Id获取菜单列表 /// /// 菜单id列表 /// 菜单列表 Task> GetMenuByMenuIdsAsync(IEnumerable menuIds); /// /// 根据模块Id获取模块列表 /// /// 模块id列表 /// 菜单列表 Task> GetMuduleByMuduleIdsAsync(IEnumerable moduleIds); /// /// 获取父菜单集合 /// /// 所有菜单列表 /// 我的菜单列表 /// IEnumerable GetMyParentResources(IEnumerable allMenuList, IEnumerable myMenus); /// /// 获取资源所有下级,结果不会转为树形 /// /// 资源列表 /// 父Id /// IEnumerable GetResourceChilden(IEnumerable resourceList, long parentId); /// /// 获取资源所有父级,结果不会转为树形 /// /// 资源列表 /// Id /// IEnumerable GetResourceParent(IEnumerable resourceList, long resourceId); /// /// 表格查询 /// /// 查询条件 /// 查询条件 /// Task> PageAsync(QueryPageOptions options, ResourceTableSearchModel searchModel); /// /// 刷新缓存 /// void RefreshCache(); /// /// 保存资源 /// /// 资源 /// 保存类型 Task SaveResourceAsync(SysResource input, ItemChangedType type); }