using HoneyBox.Admin.Models.AdminUser; using HoneyBox.Admin.Models.Common; namespace HoneyBox.Admin.Services; /// /// 管理员服务接口 /// public interface IAdminUserService { /// /// 获取管理员分页列表 /// /// 查询请求 /// 分页结果 Task> GetListAsync(AdminUserQueryRequest request); /// /// 根据ID获取管理员详情 /// /// 管理员ID /// 管理员详情 Task GetByIdAsync(long id); /// /// 创建管理员 /// /// 创建请求 /// 创建人ID /// 新管理员ID Task CreateAsync(CreateAdminUserRequest request, long? createdBy = null); /// /// 更新管理员 /// /// 管理员ID /// 更新请求 Task UpdateAsync(long id, UpdateAdminUserRequest request); /// /// 删除管理员 /// /// 管理员ID Task DeleteAsync(long id); /// /// 获取管理员已分配的角色ID列表 /// /// 管理员ID /// 角色ID列表 Task> GetRoleIdsAsync(long userId); /// /// 分配角色给管理员 /// /// 管理员ID /// 角色ID列表 Task AssignRolesAsync(long userId, List roleIds); /// /// 获取管理员已分配的专属菜单ID列表 /// /// 管理员ID /// 菜单ID列表 Task> GetMenuIdsAsync(long userId); /// /// 分配用户专属菜单 /// /// 管理员ID /// 菜单ID列表 Task AssignMenusAsync(long userId, List menuIds); /// /// 分配部门 /// /// 管理员ID /// 部门ID Task AssignDepartmentAsync(long userId, long? departmentId); /// /// 设置管理员状态 /// /// 管理员ID /// 是否启用 Task SetStatusAsync(long userId, bool enabled); /// /// 重置密码 /// /// 管理员ID /// 新密码 Task ResetPasswordAsync(long userId, string newPassword); }