refactor: ♻️ 批量查询ip归属地 (#164)

Co-authored-by: tk <fiyne1a@dingtalk.com>
This commit is contained in:
2024-07-29 11:35:26 +08:00
committed by GitHub
parent 7c56c8d571
commit 2b4c25c07c
10 changed files with 131 additions and 73 deletions

View File

@ -38,7 +38,7 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel
[Column]
[CsvIgnore]
[JsonIgnore]
public virtual int Duration { get; init; }
public virtual int Duration { get; protected init; }
/// <summary>
/// 程序响应码
@ -46,7 +46,7 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel
[Column]
[CsvIgnore]
[JsonIgnore]
public virtual ErrorCodes ErrorCode { get; init; }
public virtual ErrorCodes ErrorCode { get; protected init; }
/// <summary>
/// HTTP状态码
@ -62,7 +62,7 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel
[Column(Position = -1, DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_63)]
[CsvIgnore]
[JsonIgnore]
public virtual string LoginUserName { get; init; }
public virtual string LoginUserName { get; protected init; }
/// <summary>
/// 拥有者
@ -94,7 +94,7 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel
#endif
[CsvIgnore]
[JsonIgnore]
public virtual string RequestBody { get; init; }
public virtual string RequestBody { get; protected init; }
/// <summary>
/// 请求头信息
@ -106,7 +106,7 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel
#endif
[CsvIgnore]
[JsonIgnore]
public virtual string RequestHeaders { get; init; }
public virtual string RequestHeaders { get; protected init; }
/// <summary>
/// 请求地址
@ -114,7 +114,7 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_127)]
[CsvIgnore]
[JsonIgnore]
public virtual string RequestUrl { get; init; }
public virtual string RequestUrl { get; protected init; }
/// <summary>
/// 响应内容
@ -126,7 +126,7 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel
#endif
[CsvIgnore]
[JsonIgnore]
public virtual string ResponseBody { get; init; }
public virtual string ResponseBody { get; protected init; }
/// <summary>
/// 响应头
@ -138,7 +138,7 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel
#endif
[CsvIgnore]
[JsonIgnore]
public virtual string ResponseHeaders { get; init; }
public virtual string ResponseHeaders { get; protected init; }
/// <summary>
/// 服务器IP
@ -146,5 +146,5 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel
[Column]
[CsvIgnore]
[JsonIgnore]
public virtual int? ServerIp { get; init; }
public virtual int? ServerIp { get; protected init; }
}

View File

@ -42,6 +42,30 @@ public sealed record DynamicFilterInfo : DataAbstraction
return ret;
}
private static void ParseDateExp(FreeSql.Internal.Model.DynamicFilterInfo d)
{
var values = ((JsonElement)d.Value).Deserialize<string[]>();
if (!DateTime.TryParse(values[0], CultureInfo.InvariantCulture, out _)) {
var result = values[0]
.ExecuteCSharpCodeAsync<DateTime>([typeof(DateTime).Assembly], nameof(System))
.ConfigureAwait(false)
.GetAwaiter()
.GetResult();
values[0] = $"{result:yyyy-MM-dd HH:mm:ss}";
}
if (!DateTime.TryParse(values[1], CultureInfo.InvariantCulture, out _)) {
var result = values[1]
.ExecuteCSharpCodeAsync<DateTime>([typeof(DateTime).Assembly], nameof(System))
.ConfigureAwait(false)
.GetAwaiter()
.GetResult();
values[1] = $"{result:yyyy-MM-dd HH:mm:ss}";
}
d.Value = values;
}
private static void ProcessDynamicFilter(FreeSql.Internal.Model.DynamicFilterInfo d)
{
if (d?.Filters != null) {
@ -58,26 +82,7 @@ public sealed record DynamicFilterInfo : DataAbstraction
}
}
else if (d?.Operator == DynamicFilterOperator.DateRange) {
var values = ((JsonElement)d.Value).Deserialize<string[]>();
if (!DateTime.TryParse(values[0], CultureInfo.InvariantCulture, out _)) {
var result = values[0]
.ExecuteCSharpCodeAsync<DateTime>([typeof(DateTime).Assembly], nameof(System))
.ConfigureAwait(false)
.GetAwaiter()
.GetResult();
values[0] = $"{result:yyyy-MM-dd HH:mm:ss}";
}
if (!DateTime.TryParse(values[1], CultureInfo.InvariantCulture, out _)) {
var result = values[1]
.ExecuteCSharpCodeAsync<DateTime>([typeof(DateTime).Assembly], nameof(System))
.ConfigureAwait(false)
.GetAwaiter()
.GetResult();
values[1] = $"{result:yyyy-MM-dd HH:mm:ss}";
}
d.Value = values;
ParseDateExp(d);
}
}
}

View File

@ -47,7 +47,7 @@ public sealed record ExportLoginLogRsp : QueryLoginLogRsp
[CsvIgnore(false)]
[CsvIndex(2)]
[CsvName(nameof(Ln.登录名))]
public override string LoginUserName { get; init; }
public override string LoginUserName { get; protected init; }
/// <inheritdoc />
[CsvIgnore]

View File

@ -29,11 +29,11 @@ public record QueryLoginLogRsp : Sys_LoginLog
/// <inheritdoc cref="Sys_LoginLog.Duration" />
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override int Duration { get; init; }
public override int Duration { get; protected init; }
/// <inheritdoc cref="Sys_LoginLog.ErrorCode" />
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override ErrorCodes ErrorCode { get; init; }
public override ErrorCodes ErrorCode { get; protected init; }
/// <inheritdoc cref="Sys_LoginLog.HttpStatusCode" />
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
@ -45,7 +45,7 @@ public record QueryLoginLogRsp : Sys_LoginLog
/// <inheritdoc cref="Sys_LoginLog.LoginUserName" />
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string LoginUserName { get; init; }
public override string LoginUserName { get; protected init; }
/// <inheritdoc cref="Sys_LoginLog.Owner" />
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
@ -53,25 +53,25 @@ public record QueryLoginLogRsp : Sys_LoginLog
/// <inheritdoc cref="Sys_LoginLog.RequestBody" />
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string RequestBody { get; init; }
public override string RequestBody { get; protected init; }
/// <inheritdoc cref="Sys_LoginLog.RequestHeaders" />
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string RequestHeaders { get; init; }
public override string RequestHeaders { get; protected init; }
/// <inheritdoc cref="Sys_LoginLog.RequestUrl" />
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string RequestUrl { get; init; }
public override string RequestUrl { get; protected init; }
/// <inheritdoc cref="Sys_LoginLog.ResponseBody" />
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string ResponseBody { get; init; }
public override string ResponseBody { get; protected init; }
/// <inheritdoc cref="Sys_LoginLog.ResponseHeaders" />
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string ResponseHeaders { get; init; }
public override string ResponseHeaders { get; protected init; }
/// <inheritdoc cref="Sys_LoginLog.ServerIp" />
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override int? ServerIp { get; init; }
public override int? ServerIp { get; protected init; }
}

View File

@ -18,15 +18,14 @@ public sealed class ToolsService : ServiceBase<IToolsService>, IToolsService
/// <inheritdoc />
public Task<IEnumerable<GetModulesRsp>> GetModulesAsync()
{
return Task.FromResult<IEnumerable<GetModulesRsp>>(AppDomain.CurrentDomain.GetAssemblies()
.Select(x => {
var asm = x.GetName();
return new GetModulesRsp {
Name = asm.Name
, Version = asm.Version?.ToString()
};
})
.OrderBy(x => x.Name));
return Task.FromResult<IEnumerable<GetModulesRsp>>( //
AppDomain.CurrentDomain.GetAssemblies()
.Where(a => a.FullName?.Contains('#') != true && a.FullName?.Contains("DynamicMethods") != true)
.Select(x => {
var asm = x.GetName();
return new GetModulesRsp { Name = asm.Name, Version = asm.Version?.ToString() };
})
.OrderBy(x => x.Name));
}
/// <inheritdoc />