2025-09-09 15:28:07 +08:00
|
|
|
using DMS.Application.DTOs;
|
|
|
|
|
|
2025-09-16 12:29:09 +08:00
|
|
|
namespace DMS.Application.Interfaces.Management;
|
2025-09-09 15:28:07 +08:00
|
|
|
|
|
|
|
|
public interface IMenuManagementService
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 异步获取所有菜单DTO列表。
|
|
|
|
|
/// </summary>
|
|
|
|
|
Task<List<MenuBeanDto>> GetAllMenusAsync();
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 异步根据ID获取菜单DTO。
|
|
|
|
|
/// </summary>
|
|
|
|
|
Task<MenuBeanDto> GetMenuByIdAsync(int id);
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 异步创建一个新菜单。
|
|
|
|
|
/// </summary>
|
|
|
|
|
Task<int> CreateMenuAsync(MenuBeanDto menuDto);
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 异步更新一个已存在的菜单。
|
|
|
|
|
/// </summary>
|
2025-10-05 17:07:17 +08:00
|
|
|
Task<int> UpdateMenuAsync(MenuBeanDto menuDto);
|
2025-09-09 15:28:07 +08:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 异步删除一个菜单。
|
|
|
|
|
/// </summary>
|
2025-10-05 17:07:17 +08:00
|
|
|
Task<bool> DeleteMenuAsync(int id);
|
2025-09-09 15:28:07 +08:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取根菜单列表
|
|
|
|
|
/// </summary>
|
|
|
|
|
List<MenuBeanDto> GetRootMenus();
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 根据父级ID获取子菜单列表
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="parentId">父级菜单ID</param>
|
|
|
|
|
/// <returns>子菜单列表</returns>
|
|
|
|
|
List<MenuBeanDto> GetChildMenus(int parentId);
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 构建菜单树结构
|
|
|
|
|
/// </summary>
|
|
|
|
|
void BuildMenuTree();
|
2025-10-05 17:07:17 +08:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 当菜单数据发生变化时触发
|
|
|
|
|
/// </summary>
|
|
|
|
|
event EventHandler<DMS.Application.Events.MenuChangedEventArgs> MenuChanged;
|
2025-09-09 15:28:07 +08:00
|
|
|
}
|