diff --git a/aspnet-core/framework/auditing/LINGYUN.Abp.AuditLogging.Elasticsearch/LINGYUN/Abp/AuditLogging/Elasticsearch/AuditLoggingIndexInitializer.cs b/aspnet-core/framework/auditing/LINGYUN.Abp.AuditLogging.Elasticsearch/LINGYUN/Abp/AuditLogging/Elasticsearch/AuditLoggingIndexInitializer.cs index 894418898..96cc5e2c0 100644 --- a/aspnet-core/framework/auditing/LINGYUN.Abp.AuditLogging.Elasticsearch/LINGYUN/Abp/AuditLogging/Elasticsearch/AuditLoggingIndexInitializer.cs +++ b/aspnet-core/framework/auditing/LINGYUN.Abp.AuditLogging.Elasticsearch/LINGYUN/Abp/AuditLogging/Elasticsearch/AuditLoggingIndexInitializer.cs @@ -1,12 +1,10 @@ using Elastic.Clients.Elasticsearch; using Elastic.Clients.Elasticsearch.Mapping; -using Elastic.Transport.Products.Elasticsearch; using LINGYUN.Abp.Elasticsearch; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; using System; -using System.Text; using System.Threading; using System.Threading.Tasks; using Volo.Abp; diff --git a/aspnet-core/framework/auditing/LINGYUN.Abp.AuditLogging.Elasticsearch/LINGYUN/Abp/AuditLogging/Elasticsearch/ElasticsearchAuditLogManager.cs b/aspnet-core/framework/auditing/LINGYUN.Abp.AuditLogging.Elasticsearch/LINGYUN/Abp/AuditLogging/Elasticsearch/ElasticsearchAuditLogManager.cs index 22e037522..4368a4cba 100644 --- a/aspnet-core/framework/auditing/LINGYUN.Abp.AuditLogging.Elasticsearch/LINGYUN/Abp/AuditLogging/Elasticsearch/ElasticsearchAuditLogManager.cs +++ b/aspnet-core/framework/auditing/LINGYUN.Abp.AuditLogging.Elasticsearch/LINGYUN/Abp/AuditLogging/Elasticsearch/ElasticsearchAuditLogManager.cs @@ -526,7 +526,7 @@ public class ElasticsearchAuditLogManager : IAuditLogManager, ITransientDependen dsl => dsl.Indices(indexName) .Query(query) // 反转排序取第一个数据作为起始索引 - .Sort(sorts.Select(x => x).Reverse().ToArray()) + .Sort(sorts.ReverseSort()!.ToArray()) .SourceIncludes(x => x.Id) .SearchAfter(firstHit.Sort.ToList()) .Size(1), diff --git a/aspnet-core/framework/elasticsearch/LINGYUN.Abp.Elasticsearch/Elastic/Clients/Elasticsearch/SortOptionsExtenssions.cs b/aspnet-core/framework/elasticsearch/LINGYUN.Abp.Elasticsearch/Elastic/Clients/Elasticsearch/SortOptionsExtenssions.cs new file mode 100644 index 000000000..fa7403661 --- /dev/null +++ b/aspnet-core/framework/elasticsearch/LINGYUN.Abp.Elasticsearch/Elastic/Clients/Elasticsearch/SortOptionsExtenssions.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Elastic.Clients.Elasticsearch; + +public static class SortOptionsExtenssions +{ + public static IEnumerable? ReverseSort(this IEnumerable? sortOptions) + { + if (sortOptions == null) + { + return sortOptions; + } + var newSort = sortOptions.Select(sort => + { + if (sort.Field != null) + { + sort.Field.Order = sort.Field.Order == SortOrder.Asc + ? SortOrder.Desc + : SortOrder.Asc; + } + return sort; + }).ToArray(); + + newSort.Reverse(); + + return newSort; + } +} diff --git a/aspnet-core/framework/elasticsearch/LINGYUN.Abp.Elasticsearch/LINGYUN/Abp/Elasticsearch/ExpressionQueryService.cs b/aspnet-core/framework/elasticsearch/LINGYUN.Abp.Elasticsearch/LINGYUN/Abp/Elasticsearch/ExpressionQueryService.cs index afef44b90..f7107fcc5 100644 --- a/aspnet-core/framework/elasticsearch/LINGYUN.Abp.Elasticsearch/LINGYUN/Abp/Elasticsearch/ExpressionQueryService.cs +++ b/aspnet-core/framework/elasticsearch/LINGYUN.Abp.Elasticsearch/LINGYUN/Abp/Elasticsearch/ExpressionQueryService.cs @@ -246,7 +246,7 @@ public class ExpressionQueryService : IExpressionQueryService, ITransientDepende dsl => dsl.Indices(indexName) .Query(query) // 反转排序取第一个数据作为起始索引 - .Sort(sorts.Select(x => x).Reverse().ToArray()) + .Sort(sorts.ReverseSort()!.ToArray()) .SourceIncludes([]) .SearchAfter(firstHit.Sort.ToList()) .Size(1), diff --git a/aspnet-core/framework/logging/LINGYUN.Abp.Logging.Serilog.Elasticsearch/LINGYUN/Abp/AuditLogging/Serilog/Elasticsearch/SerilogElasticsearchLoggingManager.cs b/aspnet-core/framework/logging/LINGYUN.Abp.Logging.Serilog.Elasticsearch/LINGYUN/Abp/AuditLogging/Serilog/Elasticsearch/SerilogElasticsearchLoggingManager.cs index 984c0caac..a2732ba45 100644 --- a/aspnet-core/framework/logging/LINGYUN.Abp.Logging.Serilog.Elasticsearch/LINGYUN/Abp/AuditLogging/Serilog/Elasticsearch/SerilogElasticsearchLoggingManager.cs +++ b/aspnet-core/framework/logging/LINGYUN.Abp.Logging.Serilog.Elasticsearch/LINGYUN/Abp/AuditLogging/Serilog/Elasticsearch/SerilogElasticsearchLoggingManager.cs @@ -579,7 +579,7 @@ public class SerilogElasticsearchLoggingManager : ILoggingManager, ISingletonDep dsl => dsl.Indices(CreateIndex()) .Query(query) // 反转排序取第一个数据作为起始索引 - .Sort(sorts.Select(x => x).Reverse().ToArray()) + .Sort(sorts.ReverseSort()!.ToArray()) .SourceIncludes(x => x.Level) .SearchAfter(firstHit.Sort.ToList()) .Size(1),