using NetAdmin.Domain.Dto.Sys.User; namespace NetAdmin.Domain.Dto.Sys.RequestLog; /// /// 响应:查询请求日志 /// public record QueryRequestLogRsp : Sys_RequestLog, IRegister { /// /// 创建者客户端IP /// public new virtual string CreatedClientIp => base.CreatedClientIp?.ToIpV4(); /// /// 登录名 /// public virtual string LoginName => RequestBody?.ToObject()?.Account; /// /// 操作系统 /// public virtual string Os => UserAgentParser.Create(CreatedUserAgent)?.Platform; /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string ApiId { get; init; } /// /// 接口描述 /// public string ApiSummary { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override DateTime CreatedTime { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string CreatedUserAgent { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override long Duration { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override ErrorCodes ErrorCode { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string Exception { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override int HttpStatusCode { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string Method { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string RequestBody { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string RequestContentType { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string RequestHeaders { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string RequestUrl { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string ResponseBody { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string ResponseContentType { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string ResponseHeaders { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override int? ServerIp { get; init; } /// public new virtual QueryUserRsp User { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override long? UserId { get; init; } /// public virtual void Register(TypeAdapterConfig config) { _ = config.ForType().Map(d => d.ApiSummary, s => s.Api.Summary); } }