From 8c122b7e09d20324ad4d236b3c1d891758969f2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=B7=B3?= <454313500@qq.com> Date: Tue, 9 Jan 2024 16:59:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E4=BD=93=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UnitOfWorkSqlsugarDbContextProvider.cs | 5 +++- .../src/Yi.Abp.Application/Jobs/TestJob.cs | 26 +++++++++++++++---- .../YiAbpSqlSugarCoreModule.cs | 6 ++++- 3 files changed, 30 insertions(+), 7 deletions(-) diff --git a/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/Uow/UnitOfWorkSqlsugarDbContextProvider.cs b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/Uow/UnitOfWorkSqlsugarDbContextProvider.cs index 3cd8c58c..9ce7d0d5 100644 --- a/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/Uow/UnitOfWorkSqlsugarDbContextProvider.cs +++ b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/Uow/UnitOfWorkSqlsugarDbContextProvider.cs @@ -46,7 +46,10 @@ namespace Yi.Framework.SqlSugarCore.Uow var unitOfWork = UnitOfWorkManager.Current; if (unitOfWork == null) { - throw new AbpException("A DbContext can only be created inside a unit of work!"); + UnitOfWorkManager.Begin(true); + unitOfWork=UnitOfWorkManager.Current; + //取消工作单元强制性 + //throw new AbpException("A DbContext can only be created inside a unit of work!"); } //var sss= unitOfWork.ServiceProvider.GetRequiredService(); //Console.WriteLine("反户的:"+sss.SqlSugarClient.ContextID); diff --git a/Yi.Abp.Net8/src/Yi.Abp.Application/Jobs/TestJob.cs b/Yi.Abp.Net8/src/Yi.Abp.Application/Jobs/TestJob.cs index fe87dcef..f02f823b 100644 --- a/Yi.Abp.Net8/src/Yi.Abp.Application/Jobs/TestJob.cs +++ b/Yi.Abp.Net8/src/Yi.Abp.Application/Jobs/TestJob.cs @@ -1,20 +1,36 @@ using Quartz; +using SqlSugar; using Volo.Abp.BackgroundWorkers.Quartz; +using Volo.Abp.Domain.Repositories; +using Volo.Abp.Uow; +using Yi.Framework.Rbac.Domain.Entities; +using Yi.Framework.SqlSugarCore.Abstractions; namespace Yi.Framework.Rbac.Application.Jobs { + /// + /// 定时任务 + /// public class TestJob : QuartzBackgroundWorkerBase { - public TestJob() + private ISqlSugarRepository _repository; + public TestJob(ISqlSugarRepository repository) { + _repository = repository; JobDetail = JobBuilder.Create().WithIdentity(nameof(TestJob)).Build(); - Trigger = TriggerBuilder.Create().WithIdentity(nameof(TestJob)).WithCronSchedule("* * * * * ? *").Build(); + Trigger = TriggerBuilder.Create().WithIdentity(nameof(TestJob)).StartNow() + .WithSimpleSchedule(x => x + .WithIntervalInSeconds(1000 * 60) + .RepeatForever()) + .Build(); } - public override Task Execute(IJobExecutionContext context) + public override async Task Execute(IJobExecutionContext context) { //定时任务,非常简单 - //Console.WriteLine("你好,世界"); - return Task.CompletedTask; + Console.WriteLine("你好,世界"); + // var eneities= await _repository.GetListAsync(); + //var entities= await _sqlSugarClient.Queryable().ToListAsync(); + //await Console.Out.WriteLineAsync(entities.Count().ToString()); } } } diff --git a/Yi.Abp.Net8/src/Yi.Abp.SqlSugarCore/YiAbpSqlSugarCoreModule.cs b/Yi.Abp.Net8/src/Yi.Abp.SqlSugarCore/YiAbpSqlSugarCoreModule.cs index 42a1ac3d..d32796b1 100644 --- a/Yi.Abp.Net8/src/Yi.Abp.SqlSugarCore/YiAbpSqlSugarCoreModule.cs +++ b/Yi.Abp.Net8/src/Yi.Abp.SqlSugarCore/YiAbpSqlSugarCoreModule.cs @@ -1,10 +1,12 @@ -using Volo.Abp.Modularity; +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.Modularity; using Yi.Abp.Domain; using Yi.Abp.SqlSugarCore; using Yi.Framework.Bbs.SqlSugarCore; using Yi.Framework.Mapster; using Yi.Framework.Rbac.SqlSugarCore; using Yi.Framework.SqlSugarCore; +using Yi.Framework.SqlSugarCore.Abstractions; namespace Yi.Abp.SqlsugarCore { @@ -22,6 +24,8 @@ namespace Yi.Abp.SqlsugarCore public override void ConfigureServices(ServiceConfigurationContext context) { context.Services.AddYiDbContext(); + //默认不开放,可根据项目需要是否Db直接对外开放 + //context.Services.AddTransient(x => x.GetRequiredService().SqlSugarClient); } } } \ No newline at end of file