IThMultiTenancyAppService.cs 2.22 KB
using FoodLabeling.Th.Application.Contracts.Dtos.MultiTenancy;

using Volo.Abp.Application.Dtos;

using Volo.Abp.Application.Services;



namespace FoodLabeling.Th.Application.Contracts.IServices;



/// <summary>

/// 泰额版多租户辅助接口(租户列表、当前租户信息)

/// </summary>

public interface IThMultiTenancyAppService : IApplicationService

{

    /// <summary>

    /// 获取可选租户列表(平台管理员创建租户后供登录选择)

    /// </summary>

    Task<List<ThTenantSelectDto>> GetTenantSelectAsync();



    /// <summary>

    /// 获取当前请求上下文解析到的租户 Id

    /// </summary>

    Task<ThCurrentTenantDto> GetCurrentTenantAsync();



    /// <summary>

    /// 平台级管理员:分页获取公司(租户)列表及可回显加密凭据

    /// </summary>

    Task<PagedResultDto<ThCompanyListItemDto>> GetCompanyListAsync(ThCompanyListInput input);



    /// <summary>

    /// 平台级管理员:修改公司默认管理员账号/密码

    /// </summary>

    Task UpdateCompanyAdminAsync(ThUpdateCompanyAdminInputVo input);



    /// <summary>

    /// 平台级管理员:获取 SaaS 菜单权限树

    /// </summary>

    Task<List<ThSaasMenuPermissionTreeNodeDto>> GetMenuPermissionTreeAsync();



    /// <summary>

    /// 平台级管理员:获取公司(租户)已分配菜单权限

    /// </summary>

    Task<ThCompanyMenusDto> GetCompanyMenusAsync(Guid tenantId);



    /// <summary>

    /// 平台级管理员:覆盖式设置公司(租户)菜单权限

    /// </summary>

    Task UpdateCompanyMenusAsync(ThUpdateCompanyMenusInputVo input);



    /// <summary>

    /// 平台级管理员:获取租户内角色及已绑定菜单

    /// </summary>

    Task<List<ThCompanyRoleItemDto>> GetCompanyRolesAsync(Guid tenantId);



    /// <summary>

    /// 平台级管理员:覆盖式设置租户内角色菜单绑定

    /// </summary>

    Task UpdateCompanyRoleMenusAsync(ThUpdateCompanyRoleMenusInputVo input);



    /// <summary>

    /// 平台级管理员:删除公司(租户),可选 DROP 对应业务库

    /// </summary>

    Task<ThDeleteCompanyResultDto> DeleteCompanyAsync(Guid tenantId, bool dropDatabase = true);

}