using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Tiobon.Core.Common;
using Tiobon.Core.IServices.BASE;
using Tiobon.Core.Model;

namespace Tiobon.Core.IServices;

/// <summary>
/// IPayServices
/// </summary>	
public interface ICommonServices : IBaseServices<RootEntityTkey<int>>
{

    /// <summary>
    /// 获取菜单
    /// </summary>
    /// <param name="param"></param>
    /// <returns></returns>
    Task<ServiceResult<MenuReturn>> GetMenuAsync([FromBody] MenuParam param);


    Task<ServiceResult<ModuleReturn>> GetModuleInfoAsync([FromBody] ModuleParam param);

    Task<ServiceResult<CommonSelect>> GetSelectAsync(string type, string keyWords);

    Task<ServiceResult<QueryExportReturn>> ExportExcelAsync(QueryExport param);

    Task<ServiceResult<QueryExportReturn>> DownImportTemplateAsync(QueryExport param);

    Task<ServiceResult<QueryExportReturn>> ImportExcelAsync(IFormFile file, string menuName, int langId, int userId);
}
