diff --git a/API/Wood.Service/Controllers/NormalBaseController.cs b/API/Wood.Service/Controllers/NormalBaseController.cs index ae91abe..45ad0c0 100644 --- a/API/Wood.Service/Controllers/NormalBaseController.cs +++ b/API/Wood.Service/Controllers/NormalBaseController.cs @@ -87,6 +87,8 @@ namespace Wood.Service.Controllers await _repository.DeleteAsync(id); return new JsonResult(new { Code = 200, Message = "删除成功!" }); ; } + + [HttpGet] public async Task>> GetPaged( [FromQuery] int pageNumber = 1, @@ -110,11 +112,13 @@ namespace Wood.Service.Controllers var pagedResult = await _repository.GetPagedAsync(filter, pagingParams); return Ok(pagedResult); } - public async Task Export([FromQuery] int pageNumber = 1, - [FromQuery] int pageSize = 10, - [FromQuery] string sortBy = "", - [FromQuery] bool isAscending = true, - [FromQuery] Dictionary filters = null) + + + public async Task Export([FromQuery] int pageNumber = 1, + [FromQuery] int pageSize = 10, + [FromQuery] string sortBy = "", + [FromQuery] bool isAscending = true, + [FromQuery] Dictionary filters = null) where T : class, new() { var pagingParams = new PagingParams { @@ -133,7 +137,7 @@ namespace Wood.Service.Controllers } - protected async Task ExportFile(ICollection dtos, string fileName) + protected async Task ExportFile(ICollection dtos, string fileName) where T: class, new() { var excelExporter = HttpContext.RequestServices.GetRequiredService(); var res = await excelExporter.ExportAsByteArray(dtos); @@ -142,7 +146,7 @@ namespace Wood.Service.Controllers [HttpGet] - public async Task GetImportTemplate() + public async Task GetImportTemplate() where T: class, new() { try { @@ -150,8 +154,8 @@ namespace Wood.Service.Controllers var importer = new ExcelImporter(); // 生成导入模板流(这里假设使用 YourModel 作为导入模型) - using var stream = new MemoryStream(); - await importer.GenerateTemplate(stream, typeof(T)); + byte[] by = await importer.GenerateTemplateBytes(); + using var stream = new MemoryStream(by); stream.Seek(0, SeekOrigin.Begin); // 设置友好的文件名,例如:"导入模板_20250530.xlsx"