diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackDeleteEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackDeleteEventHandler.cs index 79e6998d..5fe88be1 100644 --- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackDeleteEventHandler.cs +++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackDeleteEventHandler.cs @@ -117,7 +117,7 @@ public class TrackDeleteEventHandler : ITransientDependency, ICapSubscribe } } - private bool CanDelete(TrackDeleteEvent @event) + private static bool CanDelete(TrackDeleteEvent @event) { if (@event.OrderIds == null) return true; diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs index c6de6489..7994fecc 100644 --- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs +++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs @@ -372,7 +372,7 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe } // 构建更新推送请求体 - private TrackUpdateInput BuiltUpdateItem(TrackPushContentConfigDto config, TrackPushRecordIndex log) + private static TrackUpdateInput BuiltUpdateItem(TrackPushContentConfigDto config, TrackPushRecordIndex log) { var trackDatetime = log.TrackTime.AddHours(config.TrackTimeZone ?? log.TrackTimeZone - log.TrackTimeZone); var trackDateStr = DateTimeFormat(trackDatetime, config.TrackTimeZone ?? log.TrackTimeZone, config); diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs index 61cd543b..76e87f99 100644 --- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs +++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs @@ -130,7 +130,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe } } - private bool CanDelete(TrackUpsertEvent @event) + private static bool CanDelete(TrackUpsertEvent @event) { // 系统创建的轨迹不允许修改 if (@event.Visited.IsNullOrEmpty() && @event is { OperationMan: GlobalConst.SystemUser, IsAdd: false }) @@ -383,7 +383,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe } - private TrackDetailsIndex BuiltUpdateTrack(TrackUpsertEvent @event, TrackDetailsIndex track, OrderIdentifier order, + private static TrackDetailsIndex BuiltUpdateTrack(TrackUpsertEvent @event, TrackDetailsIndex track, OrderIdentifier order, TrackContentVO trackContent) { //外部轨迹,轨迹发生地,轨迹发生时间,轨迹发生时区,不允许更改 @@ -428,7 +428,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe return track; } - private TrackDetailsIndex BuiltNewTrack(TrackUpsertEvent @event, OrderIdentifier order, TrackContentVO trackContent) + private static TrackDetailsIndex BuiltNewTrack(TrackUpsertEvent @event, OrderIdentifier order, TrackContentVO trackContent) { var track = new TrackDetailsIndex { @@ -483,7 +483,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe return track; } - private OrderOperationRecordIndex BuildOrderOperationRecord(TrackUpsertEvent @event, TrackDetailsIndex track, OrderIdentifier order) + private static OrderOperationRecordIndex BuildOrderOperationRecord(TrackUpsertEvent @event, TrackDetailsIndex track, OrderIdentifier order) { return new OrderOperationRecordIndex { diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackWarningCalcEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackWarningCalcEventHandler.cs index 0acde53b..35109655 100644 --- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackWarningCalcEventHandler.cs +++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackWarningCalcEventHandler.cs @@ -49,7 +49,7 @@ public class TrackWarningCalcEventHandler : ITransientDependency, ICapSubscribe await _forewarningNotifyService.WarningCalculateAsync(BuiltWarningDto(orders, @event)); } - private WarningDto BuiltWarningDto(List orders, TrackWarningCalcEvent @event) + private static WarningDto BuiltWarningDto(List orders, TrackWarningCalcEvent @event) { return new WarningDto { diff --git a/src/SJZY.Track.Application/CAP/MySubscribeExecutor.cs b/src/SJZY.Track.Application/CAP/MySubscribeExecutor.cs index 39412572..6aed1398 100644 --- a/src/SJZY.Track.Application/CAP/MySubscribeExecutor.cs +++ b/src/SJZY.Track.Application/CAP/MySubscribeExecutor.cs @@ -204,7 +204,7 @@ public class MySubscribeExecutor : ISubscribeExecutor #region tracing - private long? TracingBefore(Message message, MethodInfo method) + private static long? TracingBefore(Message message, MethodInfo method) { if (s_diagnosticListener.IsEnabled(CapDiagnosticListenerNames.BeforeSubscriberInvoke)) { @@ -224,7 +224,7 @@ public class MySubscribeExecutor : ISubscribeExecutor return null; } - private void TracingAfter(long? tracingTimestamp, Message message, MethodInfo method) + private static void TracingAfter(long? tracingTimestamp, Message message, MethodInfo method) { CapEventCounterSource.Log.WriteInvokeMetrics(); if (tracingTimestamp != null && @@ -244,7 +244,7 @@ public class MySubscribeExecutor : ISubscribeExecutor } } - private void TracingError(long? tracingTimestamp, Message message, MethodInfo? method, Exception ex) + private static void TracingError(long? tracingTimestamp, Message message, MethodInfo? method, Exception ex) { if (tracingTimestamp != null && s_diagnosticListener.IsEnabled(CapDiagnosticListenerNames.ErrorSubscriberInvoke)) diff --git a/src/SJZY.Track.Application/CAP/SubscriberExecutionFailedException.cs b/src/SJZY.Track.Application/CAP/SubscriberExecutionFailedException.cs index 567f5a9e..2b780c56 100644 --- a/src/SJZY.Track.Application/CAP/SubscriberExecutionFailedException.cs +++ b/src/SJZY.Track.Application/CAP/SubscriberExecutionFailedException.cs @@ -1,6 +1,6 @@ namespace SJZY.Track.Application.CAP; -internal class SubscriberExecutionFailedException : Exception +internal sealed class SubscriberExecutionFailedException : Exception { private readonly Exception _originException; diff --git a/src/SJZY.Track.Application/Caching/BasicCacheForPeriodicRefresh.cs b/src/SJZY.Track.Application/Caching/BasicCacheForPeriodicRefresh.cs index 609bf823..bc8325d6 100644 --- a/src/SJZY.Track.Application/Caching/BasicCacheForPeriodicRefresh.cs +++ b/src/SJZY.Track.Application/Caching/BasicCacheForPeriodicRefresh.cs @@ -476,7 +476,7 @@ public abstract class BasicCacheForPeriodicRefresh #endregion - private class CacheEntry + private sealed class CacheEntry { private static readonly DateTime NoExpire = DateTime.MaxValue; public TValue? Data { get; set; } diff --git a/src/SJZY.Track.Application/Helpers/StringHelper.cs b/src/SJZY.Track.Application/Helpers/StringHelper.cs index 713445b5..ecb0bfae 100644 --- a/src/SJZY.Track.Application/Helpers/StringHelper.cs +++ b/src/SJZY.Track.Application/Helpers/StringHelper.cs @@ -30,16 +30,14 @@ public class StringHelper public static string GetHash(string str) { // 将字符串转换为字节 - byte[] data = Encoding.UTF8.GetBytes(str); + var data = Encoding.UTF8.GetBytes(str); - // 创建SHA256实例 - using SHA256 sha256 = SHA256.Create(); // 计算哈希值 - byte[] hash = sha256.ComputeHash(data); + var hash = SHA256.HashData(data); // 将哈希值转换为16进制字符串 - StringBuilder sb = new StringBuilder(); - foreach (byte b in hash) + var sb = new StringBuilder(); + foreach (var b in hash) { sb.Append(b.ToString("x2")); } diff --git a/src/SJZY.Track.Application/Kafka/WarningCalcBackgroundService.cs b/src/SJZY.Track.Application/Kafka/WarningCalcBackgroundService.cs index 9aaaff06..32a75ddc 100644 --- a/src/SJZY.Track.Application/Kafka/WarningCalcBackgroundService.cs +++ b/src/SJZY.Track.Application/Kafka/WarningCalcBackgroundService.cs @@ -70,6 +70,7 @@ public sealed class WarningCalcBackgroundService : BackgroundService { _activity?.SetTag("HandleTime", _stopwatch.ElapsedMilliseconds); _activity?.Dispose(); + _activity = null; } } @@ -97,8 +98,6 @@ public sealed class WarningCalcBackgroundService : BackgroundService // 提交内存中所有的偏移到服务器,适用于EnableAutoCommit为false的手动提交场景 _consumer.Commit(); - _activity.Dispose(); - _activity = null; } private async ValueTask MessageHandler(IEnumerable> messages, CancellationToken ct) diff --git a/src/SJZY.Track.Application/Services/ProvideServices/OrderService.cs b/src/SJZY.Track.Application/Services/ProvideServices/OrderService.cs index 6634f8d4..b4917999 100644 --- a/src/SJZY.Track.Application/Services/ProvideServices/OrderService.cs +++ b/src/SJZY.Track.Application/Services/ProvideServices/OrderService.cs @@ -148,7 +148,7 @@ public partial class OrderService : ApplicationService, IOrderService } - private List BuiltOrderPullStatus(List? pullConfigInfos) + private static List BuiltOrderPullStatus(List? pullConfigInfos) { if (pullConfigInfos == null) return new List(); @@ -178,7 +178,7 @@ public partial class OrderService : ApplicationService, IOrderService }).ToList(); } - private List BuiltOrderPlatformNumbers(List? pullConfigInfos) + private static List BuiltOrderPlatformNumbers(List? pullConfigInfos) { if (pullConfigInfos == null) return new List(); diff --git a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.Query.cs b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.Query.cs index 44aee2b1..f872a99f 100644 --- a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.Query.cs +++ b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.Query.cs @@ -375,7 +375,7 @@ public partial class TrackService } - private class TrackIdxWarp + private sealed class TrackIdxWarp { public TrackDetail Track { get; set; } public int Index { get; set; } @@ -388,7 +388,7 @@ public partial class TrackService } - private class TrackWrap + private sealed class TrackWrap { public TrackDetail Track { get; set; } diff --git a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs index 2c1c5f59..fdaba31d 100644 --- a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs +++ b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs @@ -312,7 +312,7 @@ public class TrackOrderService : ApplicationService return (long) (time - sTime).TotalMilliseconds; } - private string GetTimeZoneStr(float timeZone) + private static string GetTimeZoneStr(float timeZone) { var time = timeZone.ToString().Split('.'); if (time.Length > 1 && time[1] != "0") //如果时区有小数点 diff --git a/src/SJZY.Track.Application/Services/TrackPull/TrackPullCacheService.cs b/src/SJZY.Track.Application/Services/TrackPull/TrackPullCacheService.cs index e7d2a2e1..dcd6177e 100644 --- a/src/SJZY.Track.Application/Services/TrackPull/TrackPullCacheService.cs +++ b/src/SJZY.Track.Application/Services/TrackPull/TrackPullCacheService.cs @@ -62,6 +62,6 @@ public class TrackPullCacheService : ITransientDependency, ITrackPullCacheServic return data; } - public string TrackPullContentKey(int subSystemId, string serviceProviderCode) => + public static string TrackPullContentKey(int subSystemId, string serviceProviderCode) => $"{GlobalConst.TrackPullContentKeyPrefix}:{subSystemId}:{serviceProviderCode}"; } diff --git a/src/SJZY.Track.Application/Services/TrackPush/TrackPushCacheService.cs b/src/SJZY.Track.Application/Services/TrackPush/TrackPushCacheService.cs index 577529eb..a7098b8d 100644 --- a/src/SJZY.Track.Application/Services/TrackPush/TrackPushCacheService.cs +++ b/src/SJZY.Track.Application/Services/TrackPush/TrackPushCacheService.cs @@ -39,7 +39,7 @@ public class TrackPushCacheService : ITrackPushCacheService, ITransientDependenc return data; } - private string TrackPushContentKey(int subSystemId, int customId) => + private static string TrackPushContentKey(int subSystemId, int customId) => $"{GlobalConst.TrackPushContentKeyPrefix}:{subSystemId}:{customId}"; private async Task?> DoGetPushContentConfigsAsync(int subSystemId, int customId) diff --git a/src/SJZY.Track.Domain/Consts/GlobalConst.cs b/src/SJZY.Track.Domain/Consts/GlobalConst.cs index f081cacc..145ef0dc 100644 --- a/src/SJZY.Track.Domain/Consts/GlobalConst.cs +++ b/src/SJZY.Track.Domain/Consts/GlobalConst.cs @@ -18,5 +18,5 @@ public partial class GlobalConst public const string CapNoRetryErrorCode = "599"; - public static DateTime MaxDateTime = new DateTime(2999, 1, 1, 0, 0, 0); + public static readonly DateTime MaxDateTime = new DateTime(2999, 1, 1, 0, 0, 0); } diff --git a/src/SJZY.Track.Repository/Repositories/TrackDetailsEsRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackDetailsEsRepository.cs index e6415867..588a3bd7 100644 --- a/src/SJZY.Track.Repository/Repositories/TrackDetailsEsRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/TrackDetailsEsRepository.cs @@ -1,7 +1,9 @@ using Nest; using SJZY.Expand.ABP.Core.PublicMethords; using SJZY.Expand.ElasticSearch.Services; +using SJZY.Track.Domain.Aggregates.OrderAggregate; using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate; +using SJZY.Track.Domain.Aggregates.TrackPushAggregate; using SJZY.Track.Domain.Consts; using SJZY.Track.Domain.Dtos.TrackDetails; using SJZY.Track.Domain.Enums; @@ -851,12 +853,35 @@ public class TrackDetailsEsRepository : ElasticSearchContextAbstract(m => m - .AutoMap()); - //字段迁移,isVisibility => isExternal - await Context.UpdateByQueryAsync(u => u - .Query(q => q.MatchAll()) - .Script(s => s.Source("ctx._source.isExternal = ctx._source.isVisibility")) + var indexName1 = $"{GlobalConst.TrackDetailsIndex}-{DateTime.Now:yyyy.MM.dd}"; + var indexName2 = $"{GlobalConst.TrackPushRecordIndex}-{DateTime.Now:yyyy.MM.dd}"; + var indexName3 = $"{GlobalConst.OrderOperationRecordIndex}-{DateTime.Now:yyyy.MM.dd}"; + + var exists1 = await Context.Indices.ExistsAsync(indexName1); + if (!exists1.Exists) + { + await Context.Indices.CreateAsync(indexName1); + await Context.MapAsync(m => m.Index(indexName1).AutoMap()); + } + + var exists2 = await Context.Indices.ExistsAsync(indexName2); + if (!exists2.Exists) + { + await Context.Indices.CreateAsync(indexName2); + await Context.MapAsync(m => m.Index(indexName2).AutoMap()); + } + + var exists3 = await Context.Indices.ExistsAsync(indexName3); + if (!exists3.Exists) + { + await Context.Indices.CreateAsync(indexName3); + await Context.MapAsync(m => m.Index(indexName3).AutoMap()); + } + + var r = await Context.Indices.BulkAliasAsync(b => + b.Add(a => a.Alias(GlobalConst.TrackDetailsIndex).Index(indexName1)) + .Add(a => a.Alias(GlobalConst.TrackPushRecordIndex).Index(indexName2)) + .Add(a => a.Alias(GlobalConst.OrderOperationRecordIndex).Index(indexName3)) ); } }