feat: 完成审计日志模块引入

This commit is contained in:
陈淳
2024-01-23 15:08:01 +08:00
parent 96ae77e5ab
commit e9b5147743
19 changed files with 183 additions and 101 deletions

View File

@@ -1,4 +1,5 @@
using Volo.Abp.Auditing;
using SqlSugar;
using Volo.Abp.Auditing;
using Volo.Abp.Data;
using Volo.Abp.Domain.Entities;
using Volo.Abp.MultiTenancy;
@@ -7,6 +8,9 @@ using Yi.Framework.AuditLogging.Domain.Shared.Consts;
namespace Yi.Framework.AuditLogging.Domain.Entities
{
[DisableAuditing]
[SugarTable("YiAuditLog")]
[SugarIndex($"index_{nameof(ExecutionTime)}", nameof(TenantId), OrderByType.Asc,nameof(ExecutionTime), OrderByType.Asc)]
[SugarIndex($"index_{nameof(ExecutionTime)}_{nameof(UserId)}",nameof(TenantId), OrderByType.Asc, nameof(UserId), OrderByType.Asc, nameof(ExecutionTime), OrderByType.Asc)]
public class AuditLogAggregateRoot: AggregateRoot<Guid>, IMultiTenant
{
public AuditLogAggregateRoot()
@@ -68,49 +72,60 @@ namespace Yi.Framework.AuditLogging.Domain.Entities
Comments = comments.Truncate(AuditLogConsts.MaxCommentsLength);
}
public virtual string ApplicationName { get; set; }
[SugarColumn(ColumnName = "Id", IsPrimaryKey = true)]
public override Guid Id { get; protected set; }
public virtual string? ApplicationName { get; set; }
public virtual Guid? UserId { get; protected set; }
public virtual string UserName { get; protected set; }
public virtual string? UserName { get; protected set; }
public virtual string TenantName { get; protected set; }
public virtual string? TenantName { get; protected set; }
public virtual Guid? ImpersonatorUserId { get; protected set; }
public virtual string ImpersonatorUserName { get; protected set; }
public virtual string? ImpersonatorUserName { get; protected set; }
public virtual Guid? ImpersonatorTenantId { get; protected set; }
public virtual string ImpersonatorTenantName { get; protected set; }
public virtual string? ImpersonatorTenantName { get; protected set; }
public virtual DateTime ExecutionTime { get; protected set; }
public virtual DateTime? ExecutionTime { get; protected set; }
public virtual int ExecutionDuration { get; protected set; }
public virtual int? ExecutionDuration { get; protected set; }
public virtual string ClientIpAddress { get; protected set; }
public virtual string? ClientIpAddress { get; protected set; }
public virtual string ClientName { get; protected set; }
public virtual string? ClientName { get; protected set; }
public virtual string ClientId { get; set; }
public virtual string? ClientId { get; set; }
public virtual string CorrelationId { get; set; }
public virtual string? CorrelationId { get; set; }
public virtual string BrowserInfo { get; protected set; }
public virtual string? BrowserInfo { get; protected set; }
public virtual string HttpMethod { get; protected set; }
public virtual string? HttpMethod { get; protected set; }
public virtual string Url { get; protected set; }
public virtual string? Url { get; protected set; }
public virtual string Exceptions { get; protected set; }
public virtual string? Exceptions { get; protected set; }
public virtual string Comments { get; protected set; }
public virtual string? Comments { get; protected set; }
public virtual int? HttpStatusCode { get; set; }
public virtual Guid? TenantId { get; protected set; }
public virtual List<EntityChangeEntity> EntityChanges { get; protected set; }
public virtual List<AuditLogActionEntity> Actions { get; protected set; }
//导航属性
[Navigate(NavigateType.OneToMany, nameof(EntityChangeEntity.AuditLogId))]
public virtual List<EntityChangeEntity> EntityChanges { get; protected set; }
//导航属性
[Navigate(NavigateType.OneToMany, nameof(AuditLogActionEntity.AuditLogId))]
public virtual List<AuditLogActionEntity> Actions { get; protected set; }
[SugarColumn(IsIgnore = true)]
public override ExtraPropertyDictionary ExtraProperties { get; protected set; }
}
}