From f66f2509360618160a6be55dc6888ad210494ec9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=B7=B3?= <454313500@qq.com> Date: Tue, 2 Jan 2024 18:32:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=87=86=E5=A4=87=E6=B7=BB=E5=8A=A0excel?= =?UTF-8?q?=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Yi.Framework.Ddd.Application.csproj | 3 ++ .../YiCrudAppService.cs | 34 ++++++++++++++++++- .../YiFrameworkDddApplicationModule.cs | 11 ++++-- 3 files changed, 45 insertions(+), 3 deletions(-) diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/Yi.Framework.Ddd.Application.csproj b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/Yi.Framework.Ddd.Application.csproj index 4ea79313..3915da9e 100644 --- a/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/Yi.Framework.Ddd.Application.csproj +++ b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/Yi.Framework.Ddd.Application.csproj @@ -2,6 +2,9 @@ + + + diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/YiCrudAppService.cs b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/YiCrudAppService.cs index 946d7984..4a7f56dc 100644 --- a/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/YiCrudAppService.cs +++ b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/YiCrudAppService.cs @@ -3,11 +3,14 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using MiniExcelLibs; using Volo.Abp; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; using Volo.Abp.Domain.Entities; using Volo.Abp.Domain.Repositories; +using Volo.Abp.Validation; namespace Yi.Framework.Ddd.Application { @@ -86,7 +89,7 @@ namespace Yi.Framework.Ddd.Application /// /// [RemoteService(isEnabled: true)] - public async Task DeleteAsync(IEnumerable id) + public virtual async Task DeleteAsync(IEnumerable id) { await Repository.DeleteManyAsync(id); } @@ -95,5 +98,34 @@ namespace Yi.Framework.Ddd.Application { return base.DeleteAsync(id); } + + + + + public virtual async Task GetExportExcelAsync(TGetListInput input) + { + if (input is IPagedResultRequest paged) + { + paged.SkipCount = 0; + paged.MaxResultCount = LimitedResultRequestDto.MaxMaxResultCount; + } + + var output = await this.GetListAsync(input); + var dirPath = $"/wwwroot/temp"; + var filePath = $"{dirPath}/{Guid.NewGuid()}.xlsx"; + if (!Directory.Exists(dirPath)) + { + Directory.CreateDirectory(dirPath); + } + + MiniExcel.SaveAs(filePath, output.Items); + return new FileStreamResult(File.OpenRead(filePath), "application/vnd.ms-excel"); + } + + public virtual async Task PostImportExcelAsync() + { + + + } } } diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/YiFrameworkDddApplicationModule.cs b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/YiFrameworkDddApplicationModule.cs index 46b83722..e2781601 100644 --- a/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/YiFrameworkDddApplicationModule.cs +++ b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/YiFrameworkDddApplicationModule.cs @@ -1,4 +1,6 @@ -using Volo.Abp.Application; +using Volo.Abp; +using Volo.Abp.Application; +using Volo.Abp.Application.Dtos; using Volo.Abp.Modularity; using Yi.Framework.Ddd.Application.Contracts; @@ -8,6 +10,11 @@ namespace Yi.Framework.Ddd.Application typeof(YiFrameworkDddApplicationContractsModule))] public class YiFrameworkDddApplicationModule : AbpModule { - + public override void OnApplicationInitialization(ApplicationInitializationContext context) + { + //分页限制 + LimitedResultRequestDto.DefaultMaxResultCount = 10; + LimitedResultRequestDto.MaxMaxResultCount = 10000; + } } }