#nullable enable
using Admin.NET.Core;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace Admin.NET.Application
{
///
/// Excel模板输出服务接口
///
public interface ISysExcelTemplateService
{
///
/// 添加Excel模板
///
/// Excel模板添加参数
///
Task AddAsync(AddSysExcelTemplateInput input);
///
/// 删除Excel模板
///
/// Excel模板删除参数
///
Task DeleteAsync(DeleteSysExcelTemplateInput input);
///
/// 获取单个Excel模板
///
/// Excel模板查询参数
/// Excel模板实例
Task GetAsync([FromQuery] QuerySysExcelTemplateInput input);
///
/// 不分页查询所有Excel模板列表
///
/// Excel模板查询参数
/// (Excel模板)实例列表
Task> ListAsync([FromQuery] SysExcelTemplateInput input);
///
/// 分页查询Excel模板列表
///
/// Excel模板查询参数
/// (Excel模板)实例列表
Task> PageAsync([FromQuery] SysExcelTemplateSearch input);
///
/// 不分页查询Excel模板列表
///
/// Excel模板查询参数
/// (Excel模板)实例列表
Task> ListNonPageAsync([FromQuery] SysExcelTemplateSearchNonPage input);
///
/// 更新Excel模板
///
/// Excel模板更新参数
///
Task UpdateAsync(UpdateSysExcelTemplateInput input);
///
/// 根据Excel模板查询参数导出Excel
///
/// Excel模板查询参数
/// 导出的Excel文件
Task ToExcelAsync([FromQuery] SysExcelTemplateSearchNonPage input);
///
/// 根据Excel模板查询参数导出Excel
///
/// Excel模板查询参数
///
/// 导出的Excel文件
Task ToExcelAsync([FromQuery] SysExcelTemplateSearchNonPage input, [FromQuery] string appName);
///
/// 修改Excel模板状态
///
/// Excel模板状态参数
///
Task ChangeSysExcelTemplateStatusAsync(UpdateSysExcelTemplateStatusInput input);
///
/// 根据类名及版本号获取单个Excel模板
///
/// 类名
/// 版本号
/// Excel模板实例
Task GetByAppNameAndClassNameAndVersionAsync([FromQuery] string className, [FromQuery] string version);
///
/// Excel模板导入功能
///
/// Excel模板文件
/// Excel导入方式
/// 导入的记录数
Task FromExcelAsync(IFormFile file, [FromQuery] ImportExcelType importExcelType);
///
/// 根据版本下载Excel模板的Excel导入模板
///
/// 模板版本
/// 下载的模板文件
Task DownloadExcelTemplate(string version);
///
/// 获取实体名称获取属性集合
///
/// 实体名称
///
Task> GetColumnListAsync([FromQuery] string className);
///
/// 获取模板提示字符
///
/// 实体名称
///
Task ParseTemplateHintAsync([FromQuery] string className);
///
/// 根据类名查询其查询唯一类型
///
/// 类型名
///
Task> QueryUniqueColumns(string className);
///
/// 根据类名查询其查询表信息
///
/// 类型名
///
Task QueryTable(string className);
///
/// 根据类名生成相应的种子代码
///
/// 类名
/// 前缀
///
Task ParseSeedData([FromQuery] string className, string prefix);
///
/// 根据前缀获取最大ID加1
///
/// 前缀
///
Task ParseId([FromQuery] string prefix);
}
}