Compare commits
No commits in common. "b8f5f32596feec51824d1416a154e6fd35631094" and "dded4f2d7c5a6b63ed3623e2dd56488cc5b67579" have entirely different histories.
b8f5f32596
...
dded4f2d7c
|
|
@ -34,7 +34,6 @@ using Microsoft.AspNetCore.Diagnostics;
|
|||
using IRaCIS.Core.Application.MassTransit.Command;
|
||||
using IRaCIS.Core.Application.MassTransit.Consumer;
|
||||
using DocumentFormat.OpenXml.InkML;
|
||||
using IRaCIS.Core.Domain;
|
||||
|
||||
AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true);
|
||||
AppContext.SetSwitch("Npgsql.DisableDateTimeInfinityConversions", true);
|
||||
|
|
@ -150,14 +149,13 @@ builder.Services.AddJWTAuthSetup(_configuration);
|
|||
builder.Services.AddMediator(cfg =>
|
||||
{
|
||||
cfg.AddConsumer<ConsistencyCheckConsumer>();
|
||||
cfg.AddConsumer<AddUserLogTriggerConsumer>();
|
||||
});
|
||||
|
||||
// 添加 MassTransit 和 InMemory 传输
|
||||
builder.Services.AddMassTransit(cfg =>
|
||||
{
|
||||
// 注册消费者
|
||||
//cfg.AddConsumer<AddSubjectTriggerConsumer>(); // 替换为你的消费者类
|
||||
cfg.AddConsumer<AddSubjectTriggerConsumer>(); // 替换为你的消费者类
|
||||
|
||||
// 使用 InMemory 作为消息传递机制
|
||||
cfg.UsingInMemory((context, cfg) =>
|
||||
|
|
|
|||
|
|
@ -81,12 +81,12 @@ namespace IRaCIS.Core.API
|
|||
triggerOptions.AddTrigger<AddCRCCliniaclDataTrigger>();
|
||||
triggerOptions.AddTrigger<SubjectVisitCheckPassedTrigger>();
|
||||
triggerOptions.AddTrigger<SubjectVisitFinalVisitTrigger>();
|
||||
triggerOptions.AddTrigger<SubjectVisitScanDateTrigger>();
|
||||
triggerOptions.AddTrigger<SubjectVisitTrigger>();
|
||||
triggerOptions.AddTrigger<TrialCriterionSignTrigger>();
|
||||
triggerOptions.AddTrigger<TableQuestionRowTrigger>();
|
||||
//triggerOptions.AddTrigger<AddlTrialUserTrigger>();
|
||||
triggerOptions.AddTrigger<VisitTaskIsFrontTaskNeedSignButNotSignTrigger>();
|
||||
triggerOptions.AddTrigger<JudgeVisitTaskTrigger>();
|
||||
triggerOptions.AddTrigger<VisitTaskIbeforeTrigger>();
|
||||
|
||||
triggerOptions.AddTrigger<UserLogTrigger>();
|
||||
|
||||
|
|
|
|||
|
|
@ -85,8 +85,4 @@
|
|||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Triggers\TempAbandon\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -12648,24 +12648,6 @@
|
|||
构造函数注入
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.MassTransit.Consumer.AddSubjectTriggerConsumer">
|
||||
<summary>
|
||||
添加Subject 触发添加访视 不能代替 Trigger,稽查BatchId 不一致 暂时废弃
|
||||
</summary>
|
||||
<param name="_subjectVisitRepository"></param>
|
||||
<param name="_visitStageRepository"></param>
|
||||
<param name="_trialRepository"></param>
|
||||
<param name="_mapper"></param>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.MassTransit.Consumer.AddSubjectTriggerConsumer.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.VisitStage},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},AutoMapper.IMapper)">
|
||||
<summary>
|
||||
添加Subject 触发添加访视 不能代替 Trigger,稽查BatchId 不一致 暂时废弃
|
||||
</summary>
|
||||
<param name="_subjectVisitRepository"></param>
|
||||
<param name="_visitStageRepository"></param>
|
||||
<param name="_trialRepository"></param>
|
||||
<param name="_mapper"></param>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.ViewModel.TaskAllocationRuleView">
|
||||
<summary> TaskAllocationRuleView 列表视图模型 </summary>
|
||||
</member>
|
||||
|
|
@ -16097,6 +16079,16 @@
|
|||
<param name="trialConfig"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.Triggers.AddSubjectTrigger">
|
||||
<summary>
|
||||
添加访视计划 要给改项目下的所有Subject 添加该访视
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Triggers.AddSubjectTrigger.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.VisitStage},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},AutoMapper.IMapper)">
|
||||
<summary>
|
||||
添加访视计划 要给改项目下的所有Subject 添加该访视
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.Triggers.SubjectStateTrigger">
|
||||
<summary>
|
||||
|
||||
|
|
@ -16107,6 +16099,16 @@
|
|||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.Triggers.SubjectVisitCheckPassedTrigger">
|
||||
<summary>
|
||||
处理 访视 末次评估 会影响Subject 状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Triggers.SubjectVisitCheckPassedTrigger.#ctor(IRaCIS.Core.Application.Service.IVisitTaskHelpeService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Subject},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionCriterionTrial},IRaCIS.Core.Application.Interfaces.ISubjectCriteriaEvaluationService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectCriteriaEvaluation})">
|
||||
<summary>
|
||||
处理 访视 末次评估 会影响Subject 状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.Triggers.SubjectVisitFinalVisitTrigger">
|
||||
<summary>
|
||||
处理 访视 末次评估 会影响Subject 状态
|
||||
|
|
@ -16124,35 +16126,21 @@
|
|||
<param name="subjectVisit"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.Triggers.VisitTaskIsFrontTaskNeedSignButNotSignTrigger">
|
||||
<member name="T:IRaCIS.Core.Application.Triggers.SubjectVisitTrigger">
|
||||
<summary>
|
||||
维护 IsFrontTaskNeedSignButNotSign 字段 另外附加评估结果
|
||||
处理 访视 1、提交状态 2、执行状态 3、最早最晚 拍片日期
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Triggers.VisitTaskIsFrontTaskNeedSignButNotSignTrigger.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.VisitTask},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionCriterionTrial})">
|
||||
<member name="M:IRaCIS.Core.Application.Triggers.SubjectVisitTrigger.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Application.Service.Reading.Interface.IClinicalAnswerService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.DicomSeries},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.NoneDicomStudy})">
|
||||
<summary>
|
||||
维护 IsFrontTaskNeedSignButNotSign 字段 另外附加评估结果
|
||||
处理 访视 1、提交状态 2、执行状态 3、最早最晚 拍片日期
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.Triggers.AddSubjectTrigger">
|
||||
<summary>
|
||||
添加访视计划 要给改项目下的所有Subject 添加该访视
|
||||
</summary>
|
||||
<member name="M:IRaCIS.Core.Application.Triggers.SubjectVisitTrigger.UpdateSubjectVisitSubmitStateAsync(System.Guid)">
|
||||
<summary>处理提交状态</summary>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Triggers.AddSubjectTrigger.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.VisitStage},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},AutoMapper.IMapper)">
|
||||
<summary>
|
||||
添加访视计划 要给改项目下的所有Subject 添加该访视
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.Triggers.SubjectVisitCheckPassedTrigger">
|
||||
<summary>
|
||||
处理 访视 末次评估 会影响Subject 状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Triggers.SubjectVisitCheckPassedTrigger.#ctor(IRaCIS.Core.Application.Service.IVisitTaskHelpeService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Subject},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionCriterionTrial},IRaCIS.Core.Application.Interfaces.ISubjectCriteriaEvaluationService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectCriteriaEvaluation})">
|
||||
<summary>
|
||||
处理 访视 末次评估 会影响Subject 状态
|
||||
</summary>
|
||||
<member name="M:IRaCIS.Core.Application.Triggers.SubjectVisitTrigger.UpdateSubjectVisitImageDateAsync(System.Guid)">
|
||||
<summary>处理拍片日期</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.Triggers.TrialCriterionSignTrigger">
|
||||
<summary>
|
||||
|
|
@ -16164,7 +16152,7 @@
|
|||
因为可能先一致性核查通过,生成其他标准的任务了,新签名的标准也需要产生任务
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Triggers.JudgeVisitTaskTrigger.AfterSave(EntityFrameworkCore.Triggered.ITriggerContext{IRaCIS.Core.Domain.Models.VisitTask},System.Threading.CancellationToken)">
|
||||
<member name="M:IRaCIS.Core.Application.Triggers.VisitTaskIbeforeTrigger.AfterSave(EntityFrameworkCore.Triggered.ITriggerContext{IRaCIS.Core.Domain.Models.VisitTask},System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
因为维护状态先后顺序导致 裁判任务关联的 任务上的JudgeVisitTaskId==nulll 在这里需要重新设置下
|
||||
|
||||
|
|
@ -16174,7 +16162,7 @@
|
|||
<param name="cancellationToken"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Triggers.JudgeVisitTaskTrigger.BeforeSave(EntityFrameworkCore.Triggered.ITriggerContext{IRaCIS.Core.Domain.Models.VisitTask},System.Threading.CancellationToken)">
|
||||
<member name="M:IRaCIS.Core.Application.Triggers.VisitTaskIbeforeTrigger.BeforeSave(EntityFrameworkCore.Triggered.ITriggerContext{IRaCIS.Core.Domain.Models.VisitTask},System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
比如 两个任务产生了裁判,然后其中一个人申请了重阅,影响了裁判,需要清理之前任务的上裁判id
|
||||
|
||||
|
|
@ -16185,30 +16173,16 @@
|
|||
<param name="cancellationToken"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.Triggers.SubjectVisitScanDateTrigger">
|
||||
<member name="T:IRaCIS.Core.Application.Triggers.VisitTaskIsFrontTaskNeedSignButNotSignTrigger">
|
||||
<summary>
|
||||
处理 访视 1、提交状态 2、执行状态 3、最早最晚 拍片日期
|
||||
维护 IsFrontTaskNeedSignButNotSign 字段 另外附加评估结果
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Triggers.SubjectVisitScanDateTrigger.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Application.Service.Reading.Interface.IClinicalAnswerService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.DicomSeries},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.NoneDicomStudy})">
|
||||
<member name="M:IRaCIS.Core.Application.Triggers.VisitTaskIsFrontTaskNeedSignButNotSignTrigger.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.VisitTask},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionCriterionTrial})">
|
||||
<summary>
|
||||
处理 访视 1、提交状态 2、执行状态 3、最早最晚 拍片日期
|
||||
维护 IsFrontTaskNeedSignButNotSign 字段 另外附加评估结果
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Triggers.SubjectVisitScanDateTrigger.UpdateSubjectVisitSubmitStateAsync(System.Guid)">
|
||||
<summary>
|
||||
处理提交状态
|
||||
</summary>
|
||||
<param name="subjectVisitId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Triggers.SubjectVisitScanDateTrigger.UpdateSubjectVisitImageDateAsync(System.Guid)">
|
||||
<summary>
|
||||
处理访视拍片日期
|
||||
</summary>
|
||||
<param name="subjectVisitId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Domain.Models.ReadModuleView.Id">
|
||||
<summary>
|
||||
Id(阅片期Id 或者 访视ID)
|
||||
|
|
|
|||
|
|
@ -1,26 +0,0 @@
|
|||
|
||||
|
||||
using AutoMapper;
|
||||
using IP2Region.Net.Abstractions;
|
||||
using IRaCIS.Core.Domain;
|
||||
using IRaCIS.Core.Domain.Models;
|
||||
using MassTransit;
|
||||
|
||||
namespace IRaCIS.Core.Application.MassTransit.Consumer;
|
||||
|
||||
|
||||
//国家|区域|省份|城市|ISP 缺省的地域信息默认是0
|
||||
//0|0|0|内网IP|内网IP
|
||||
// 中国|0|湖北省|武汉市|电信
|
||||
public class AddUserLogTriggerConsumer(ISearcher _searcher) : IConsumer<AddUserLogTriggerCommand>
|
||||
{
|
||||
public async Task Consume(ConsumeContext<AddUserLogTriggerCommand> context)
|
||||
{
|
||||
var userLog = context.Message.UserLog;
|
||||
|
||||
var ipinfo = _searcher.Search(userLog.IP);
|
||||
|
||||
userLog.IPRegion = string.Join('|', ipinfo.Split('|').TakeLast(3));
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -6,13 +6,6 @@ using MassTransit;
|
|||
|
||||
namespace IRaCIS.Core.Application.MassTransit.Consumer;
|
||||
|
||||
/// <summary>
|
||||
/// 添加Subject 触发添加访视 不能代替 Trigger,稽查BatchId 不一致 暂时废弃
|
||||
/// </summary>
|
||||
/// <param name="_subjectVisitRepository"></param>
|
||||
/// <param name="_visitStageRepository"></param>
|
||||
/// <param name="_trialRepository"></param>
|
||||
/// <param name="_mapper"></param>
|
||||
public class AddSubjectTriggerConsumer(IRepository<SubjectVisit> _subjectVisitRepository,
|
||||
|
||||
IRepository<VisitStage> _visitStageRepository,
|
||||
|
|
@ -41,6 +34,5 @@ public class AddSubjectTriggerConsumer(IRepository<SubjectVisit> _subjectVisitRe
|
|||
});
|
||||
|
||||
await _subjectVisitRepository.AddRangeAsync(svList);
|
||||
await _subjectVisitRepository.SaveChangesAsync();
|
||||
}
|
||||
}
|
||||
|
|
@ -9,6 +9,7 @@ namespace IRaCIS.Core.Application.Triggers
|
|||
/// </summary>
|
||||
public class AddSubjectTrigger(
|
||||
IRepository<SubjectVisit> _subjectVisitRepository,
|
||||
|
||||
IRepository<VisitStage> _visitStageRepository,
|
||||
IRepository<Trial> _trialRepository,
|
||||
IMapper _mapper) : IBeforeSaveTrigger<Subject>
|
||||
|
|
@ -7,7 +7,7 @@ namespace IRaCIS.Core.Application.Triggers
|
|||
/// <summary>
|
||||
/// 处理 访视 1、提交状态 2、执行状态 3、最早最晚 拍片日期
|
||||
/// </summary>
|
||||
public class SubjectVisitScanDateTrigger(
|
||||
public class SubjectVisitTrigger(
|
||||
IRepository<SubjectVisit> _subjectVisitRepository,
|
||||
IClinicalAnswerService _iClinicalAnswerService,
|
||||
IRepository<DicomSeries> _dicomSeriesRepository,
|
||||
|
|
@ -106,11 +106,7 @@ namespace IRaCIS.Core.Application.Triggers
|
|||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 处理提交状态
|
||||
/// </summary>
|
||||
/// <param name="subjectVisitId"></param>
|
||||
/// <returns></returns>
|
||||
/// <summary>处理提交状态</summary>
|
||||
|
||||
public async Task UpdateSubjectVisitSubmitStateAsync(Guid subjectVisitId)
|
||||
{
|
||||
|
|
@ -131,11 +127,7 @@ namespace IRaCIS.Core.Application.Triggers
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 处理访视拍片日期
|
||||
/// </summary>
|
||||
/// <param name="subjectVisitId"></param>
|
||||
/// <returns></returns>
|
||||
/// <summary>处理拍片日期</summary>
|
||||
private async Task UpdateSubjectVisitImageDateAsync(Guid subjectVisitId)
|
||||
{
|
||||
var svTime = _subjectVisitRepository.Where(t => t.Id == subjectVisitId).Select(t => new
|
||||
|
|
@ -4,7 +4,7 @@ using IRaCIS.Core.Domain.Share;
|
|||
namespace IRaCIS.Core.Application.Triggers
|
||||
{
|
||||
|
||||
public class JudgeVisitTaskTrigger(
|
||||
public class VisitTaskIbeforeTrigger(
|
||||
IRepository<VisitTask> _visitTaskRepository,
|
||||
IRepository<ReadingJudgeInfo> _readingJudgeInfoRepository) : IBeforeSaveTrigger<VisitTask>, IAfterSaveTrigger<VisitTask>
|
||||
{
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
|
||||
using IRaCIS.Core.Domain.BaseModel;
|
||||
using IRaCIS.Core.Domain.Models;
|
||||
|
||||
namespace IRaCIS.Core.Domain;
|
||||
|
||||
|
||||
public class AddUserLogTriggerCommand : DomainCommand
|
||||
{
|
||||
public UserLog UserLog { get; set; }
|
||||
}
|
||||
|
|
@ -24,31 +24,18 @@ public static class DBContext_Ext
|
|||
var changeTracker = context.ChangeTracker;
|
||||
|
||||
// 遍历 ChangeTracker 中的实体
|
||||
//foreach (var entry in changeTracker.Entries<UserLog>())
|
||||
//{
|
||||
// var userLog = entry.Entity;
|
||||
foreach (var entry in changeTracker.Entries<Subject>())
|
||||
{
|
||||
var subject = entry.Entity;
|
||||
|
||||
// if (entry.State == EntityState.Added)
|
||||
// {
|
||||
// // 受试者添加 触发访视自动添加
|
||||
// var addCommand = new AddUserLogTriggerCommand { UserLog=userLog };
|
||||
if (entry.State == EntityState.Added)
|
||||
{
|
||||
// 受试者添加 触发访视自动添加
|
||||
var addedEvent = new AddSubjectTriggerCommand { SubjectId = subject.Id, TrialId = subject.TrialId, TrialSiteId = subject.TrialSiteId };
|
||||
|
||||
// userLog.AddDomainCommand(addCommand);
|
||||
// }
|
||||
//}
|
||||
|
||||
//foreach (var entry in changeTracker.Entries<Subject>())
|
||||
//{
|
||||
// var subject = entry.Entity;
|
||||
|
||||
// if (entry.State == EntityState.Added)
|
||||
// {
|
||||
// // 受试者添加 触发访视自动添加
|
||||
// var addedEvent = new AddSubjectTriggerCommand { SubjectId = subject.Id, TrialId = subject.TrialId, TrialSiteId = subject.TrialSiteId };
|
||||
|
||||
// subject.AddDomainCommand(addedEvent);
|
||||
// }
|
||||
//}
|
||||
subject.AddDomainCommand(addedEvent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ using IRaCIS.Core.Domain.Models;
|
|||
using IRaCIS.Core.Domain.Share;
|
||||
using IRaCIS.Core.Infra.EFCore.Common;
|
||||
using MassTransit;
|
||||
using MassTransit.Mediator;
|
||||
using MassTransit.Transports;
|
||||
using Microsoft.EntityFrameworkCore.Diagnostics;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
|
@ -14,7 +13,7 @@ namespace IRaCIS.Core.Infra.EFCore;
|
|||
|
||||
public class AuditEntityInterceptor(IUserInfo _userInfo,
|
||||
ILogger<AuditEntityInterceptor> _logger
|
||||
, IMediator _mediator
|
||||
//, IBus _bus
|
||||
) : SaveChangesInterceptor
|
||||
{
|
||||
|
||||
|
|
@ -31,7 +30,7 @@ public class AuditEntityInterceptor(IUserInfo _userInfo,
|
|||
//领域命令 (同一个事务提交的一些逻辑,类似Trigger 保存事务之前执行的一些逻辑)
|
||||
eventData.Context.AddDomainCommands();
|
||||
|
||||
DispatchDomainCommands(eventData.Context).GetAwaiter().GetResult();
|
||||
//DispatchDomainCommands(eventData.Context).GetAwaiter().GetResult();
|
||||
|
||||
//领域事件
|
||||
eventData.Context.AddDomainEvents();
|
||||
|
|
@ -231,26 +230,26 @@ public class AuditEntityInterceptor(IUserInfo _userInfo,
|
|||
|
||||
#region 领域命令分发
|
||||
|
||||
private async Task DispatchDomainCommands(DbContext? context)
|
||||
{
|
||||
if (context == null) return;
|
||||
//private async Task DispatchDomainCommands(DbContext? context)
|
||||
//{
|
||||
// if (context == null) return;
|
||||
|
||||
var entities = context.ChangeTracker
|
||||
.Entries<Entity>()
|
||||
.Where(e => e.Entity.DomainCommands.Any())
|
||||
.Select(e => e.Entity)
|
||||
.ToList();
|
||||
// var entities = context.ChangeTracker
|
||||
// .Entries<Entity>()
|
||||
// .Where(e => e.Entity.DomainCommands.Any())
|
||||
// .Select(e => e.Entity)
|
||||
// .ToList();
|
||||
|
||||
var domainCommands = entities
|
||||
.SelectMany(e => e.DomainCommands)
|
||||
.ToList();
|
||||
// var domainCommands = entities
|
||||
// .SelectMany(e => e.DomainCommands)
|
||||
// .ToList();
|
||||
|
||||
entities.ForEach(e => e.ClearDomainCommands());
|
||||
// entities.ForEach(e => e.ClearDomainCommands());
|
||||
|
||||
foreach (var domainCommand in domainCommands)
|
||||
{
|
||||
await _mediator.Send(domainCommand.GetType(), domainCommand);
|
||||
}
|
||||
}
|
||||
// foreach (var domainCommand in domainCommands)
|
||||
// {
|
||||
// await _bus.Send(domainCommand.GetType(), domainCommand);
|
||||
// }
|
||||
//}
|
||||
#endregion
|
||||
}
|
||||
Loading…
Reference in New Issue