From 4bf93d10b005ad7e65d8eb05787c3db985585097 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Tue, 20 Aug 2024 09:39:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E6=97=B6=E5=B1=8F=E8=94=BD=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E5=88=86=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/QC/DTO/QCListViewModel.cs | 2 +- .../Service/TrialSiteUser/TrialService.cs | 6 +- .../DispatchDomainEventsInterceptor.cs | 104 +++++++++--------- 3 files changed, 56 insertions(+), 56 deletions(-) diff --git a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs index c06c05c5f..ceb1e0de1 100644 --- a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs +++ b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs @@ -310,7 +310,7 @@ namespace IRaCIS.Core.Application.Contracts { if (!ClosedTime.HasValue) return ""; - else return string.Format("{0}d {1}h {2}min", (ClosedTime - CreateTime)?.Days, (ClosedTime - CreateTime)?.Hours, (ClosedTime - CreateTime)?.Minutes); + else return string.Format("{0}d {1}h {2}m", (ClosedTime - CreateTime)?.Days, (ClosedTime - CreateTime)?.Hours, (ClosedTime - CreateTime)?.Minutes); } } diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs index 9886bc91f..190511173 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs @@ -69,7 +69,7 @@ namespace IRaCIS.Application.Services } - var query = _trialRepository.AsQueryable().IgnoreQueryFilters() + var query = _trialRepository.AsQueryable() .WhereIf(!string.IsNullOrEmpty(searchParam.TrialStatusStr), o => o.TrialStatusStr.Contains(searchParam.TrialStatusStr)) .WhereIf(searchParam.SponsorId != null, o => o.SponsorId == searchParam.SponsorId) .WhereIf(searchParam.Expedited != null, o => o.Expedited == searchParam.Expedited) @@ -103,7 +103,7 @@ namespace IRaCIS.Application.Services //过滤废除的项目 public async Task> GetTrialSelect() { - return await _trialRepository.AsQueryable().IgnoreQueryFilters() + return await _trialRepository.AsQueryable() .WhereIf(_userInfo.UserTypeEnumInt != (int)UserTypeEnum.SuperAdmin && _userInfo.UserTypeEnumInt != (int)UserTypeEnum.Admin && _userInfo.UserTypeEnumInt != (int)UserTypeEnum.OP, t => t.TrialUserList.Any(t => t.UserId == _userInfo.Id) && t.IsDeleted == false) .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); @@ -119,7 +119,7 @@ namespace IRaCIS.Application.Services [HttpGet("{projectId:guid}")] public async Task GetTrialInfoAndLockState(Guid projectId) { - return (await _trialRepository.Where(o => o.Id == projectId).IgnoreQueryFilters().ProjectTo(_mapper.ConfigurationProvider, new {isEn_Us = _userInfo.IsEn_Us }).FirstOrDefaultAsync()).IfNullThrowException(); + return (await _trialRepository.Where(o => o.Id == projectId).ProjectTo(_mapper.ConfigurationProvider, new {isEn_Us = _userInfo.IsEn_Us }).FirstOrDefaultAsync()).IfNullThrowException(); } diff --git a/IRaCIS.Core.Infra.EFCore/Interceptor/DispatchDomainEventsInterceptor.cs b/IRaCIS.Core.Infra.EFCore/Interceptor/DispatchDomainEventsInterceptor.cs index e12a02704..87ce315a5 100644 --- a/IRaCIS.Core.Infra.EFCore/Interceptor/DispatchDomainEventsInterceptor.cs +++ b/IRaCIS.Core.Infra.EFCore/Interceptor/DispatchDomainEventsInterceptor.cs @@ -1,59 +1,59 @@ -using Microsoft.EntityFrameworkCore.Diagnostics; -using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using IRaCIS.Core.Domain.Models; -using MassTransit; +//using Microsoft.EntityFrameworkCore.Diagnostics; +//using Microsoft.EntityFrameworkCore; +//using System; +//using System.Collections.Generic; +//using System.Linq; +//using System.Text; +//using System.Threading; +//using System.Threading.Tasks; +//using IRaCIS.Core.Domain.Models; +//using MassTransit; -namespace IRaCIS.Core.Infra.EFCore.Interceptor -{ - public class DispatchDomainEventsInterceptor(IPublishEndpoint publishEndpoint) : SaveChangesInterceptor - { +//namespace IRaCIS.Core.Infra.EFCore.Interceptor +//{ +// public class DispatchDomainEventsInterceptor(IPublishEndpoint publishEndpoint) : SaveChangesInterceptor +// { - //领域事件通常与数据变更密切相关。如果在 SaveChanges 之前发布事件,有可能事件发布时的数据状态还没有被持久化到数据库。这可能导致事件消费者看到的是一个不一致的状态 +// //领域事件通常与数据变更密切相关。如果在 SaveChanges 之前发布事件,有可能事件发布时的数据状态还没有被持久化到数据库。这可能导致事件消费者看到的是一个不一致的状态 - /// - /// 在事务提交之后分发事件 - /// - /// - /// - /// - /// - public override async ValueTask SavedChangesAsync(SaveChangesCompletedEventData eventData, int result, - CancellationToken cancellationToken = default) - { - await DispatchDomainEvents(eventData.Context); - return await base.SavedChangesAsync(eventData, result, cancellationToken); - } - public override int SavedChanges(SaveChangesCompletedEventData eventData, int result) - { - DispatchDomainEvents(eventData.Context).GetAwaiter().GetResult(); - return base.SavedChanges(eventData, result); - } - private async Task DispatchDomainEvents(DbContext? context) - { - if (context == null) return; +// /// +// /// 在事务提交之后分发事件 +// /// +// /// +// /// +// /// +// /// +// public override async ValueTask SavedChangesAsync(SaveChangesCompletedEventData eventData, int result, +// CancellationToken cancellationToken = default) +// { +// await DispatchDomainEvents(eventData.Context); +// return await base.SavedChangesAsync(eventData, result, cancellationToken); +// } +// public override int SavedChanges(SaveChangesCompletedEventData eventData, int result) +// { +// DispatchDomainEvents(eventData.Context).GetAwaiter().GetResult(); +// return base.SavedChanges(eventData, result); +// } +// private async Task DispatchDomainEvents(DbContext? context) +// { +// if (context == null) return; - var entities = context.ChangeTracker - .Entries() - .Where(e => e.Entity.DomainEvents.Any()) - .Select(e => e.Entity) - .ToList(); +// var entities = context.ChangeTracker +// .Entries() +// .Where(e => e.Entity.DomainEvents.Any()) +// .Select(e => e.Entity) +// .ToList(); - var domainEvents = entities - .SelectMany(e => e.DomainEvents) - .ToList(); +// var domainEvents = entities +// .SelectMany(e => e.DomainEvents) +// .ToList(); - entities.ForEach(e => e.ClearDomainEvents()); +// entities.ForEach(e => e.ClearDomainEvents()); - foreach (var domainEvent in domainEvents) - { - await publishEndpoint.Publish(domainEvent); - } - } - } -} +// foreach (var domainEvent in domainEvents) +// { +// await publishEndpoint.Publish(domainEvent); +// } +// } +// } +//}