From 310988d583520afeb61114527c01bc946bd7d4cb Mon Sep 17 00:00:00 2001 From: xiaolipro <2357729423@qq.com> Date: Tue, 5 Aug 2025 10:41:46 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=AE=A2=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EventHandlers/TrackDeleteEventHandler.cs | 2 - .../EventHandlers/TrackPushEventHandler.cs | 17 +- .../EventHandlers/TrackUpsertEventHandler.cs | 9 +- .../Dtos/Forewarning/RuleAreaBaseInfo.cs | 6 +- .../ProvideServices/GetOrderDetailsInput.cs | 2 +- .../ProvideServices/GetPageTrackOrderInput.cs | 10 +- .../GetPageTrackTemplateListInput.cs | 4 +- .../GetTrackTemplateListInput.cs | 4 +- .../Dtos/ProvideServices/LinkOrderInput.cs | 4 +- .../Dtos/ProvideServices/OrderNoInfo.cs | 4 +- .../QueryTrackPullMappingsInput.cs | 6 +- .../Dtos/ProvideServices/UpsertOrderInput.cs | 4 +- .../TrackContents/GetContentDetailInput.cs | 2 +- .../TrackContents/GetContentDetailOutput.cs | 2 +- .../Dtos/TrackPull/TrackRefreshAttach.cs | 6 +- .../Dtos/TrackPull/TrackRefreshContext.cs | 6 +- .../TrackPush/EditTrackPushConfigInput.cs | 9 +- .../TrackPush/EditTrackPushContentInput.cs | 2 +- .../Dtos/TrackPush/QueryPushRecordInput.cs | 2 +- .../TrackPush/TrackPushContentConfigDto.cs | 2 +- .../Dtos/TrackPush/TrackPushContentDto.cs | 2 +- .../Dtos/TrackTemplates/GetTrackDetailDto.cs | 4 +- .../Complete/CompleteWarningDetailsDto.cs | 11 +- .../Complete/CompleteWarningRuleItemDto.cs | 2 +- .../GetPageCompleteWarningDetailsInput.cs | 4 +- .../Dtos/Warning/GetWarningRuleInput.cs | 4 +- .../GetPageReturnWarningDetailsInput.cs | 4 +- .../Warning/Return/ReturnWarningDetailsDto.cs | 11 +- .../GetPageTransportWarningDetailsInput.cs | 4 +- .../Transport/TransportWarningDetailsDto.cs | 11 +- .../Dtos/Warning/UpsertWarningRuleInput.cs | 4 +- .../Dtos/Warning/WarningRuleDto.cs | 9 +- .../Events/OrderIdentifier.cs | 2 +- .../Events/TrackChangeEto.cs | 4 +- .../Events/TrackPushEvent.cs | 4 +- .../Events/TrackUpsertEvent.cs | 4 +- src/TrackCenter.Application/GlobalUsings.cs | 1 + .../Hangfire/WarningNotifyAggregator.cs | 1 - .../Hangfire/WarningTaskService.cs | 1 - .../Rabbit/TrackPushCompletedEventHandler.cs | 3 +- .../Rabbit/TrackRefreshEventHandler.cs | 5 +- .../ProvideServices/OrderService.Link.cs | 6 +- .../ProvideServices/TrackPushService.cs | 11 +- .../Services/ProvideServices/TrackService.cs | 11 +- .../TimerTaskss/TrackButtomUpScanTask.cs | 1 - .../TrackContents/TrackContentService.cs | 6 +- .../Services/TrackOrders/TrackOrderService.cs | 10 - .../TrackPush/TrackPushCacheService.cs | 29 ++- .../Services/TrackPush/TrackPushService.cs | 95 +++------ .../TrackStatus/TrackStatusService.cs | 45 ++--- .../Warning/CompleteWarningService.cs | 45 ++--- .../Handlers/CompleteWarningHandler.cs | 7 +- .../Warning/Handlers/OrderWarningHandler.cs | 1 - .../Warning/Handlers/ReturnWarningHandler.cs | 7 +- .../Handlers/TransportWarningHandler.cs | 5 +- .../Model/CompleteWarningRuleItemBO.cs | 4 +- .../Services/Warning/ReturnWarningService.cs | 13 +- .../Services/Warning/Signals/WarningSignal.cs | 2 +- .../Warning/TransportWarningService.cs | 13 +- .../Services/Warning/WarningService.cs | 28 +-- .../OrderAggregate/IOrderRepository.cs | 15 +- .../Aggregates/OrderAggregate/OrderEntity.cs | 12 +- .../ITrackDetailsEsRepository.cs | 5 +- .../TrackDetailsIndex.cs | 4 +- .../TrackPullContentConfigEntity.cs | 2 +- .../ITrackPushConfigRepository.cs | 5 +- .../TrackPushConfigEntity.cs | 7 +- .../TrackPushContentConfigEntity.cs | 4 +- .../Complete/CompleteWarningDetailsIndex.cs | 4 +- .../Complete/CompleteWarningRuleItemEntity.cs | 8 +- .../IWarningRuleRepository.cs | 11 +- .../Return/ReturnWarningDetailsIndex.cs | 5 +- .../Transport/TransportWarningDetailsIndex.cs | 5 +- .../WarningAggregate/WarningRuleEntity.cs | 18 +- src/TrackCenter.Domain/Consts/GlobalConst.cs | 1 - .../Dtos/Order/GetPageTrackOrderInputVO.cs | 27 +-- .../Dtos/Order/LinkedOrderVO.cs | 6 +- .../Dtos/Order/OrderIdentifier.cs | 4 +- .../Dtos/Order/OrderWithServiceProviderVO.cs | 4 +- .../GetTrackPullContentPageOutputVO.cs | 6 +- .../GetTrackPushConfigDetailOutputVO.cs | 11 +- .../GetTrackPushConfigPageOutputVO.cs | 4 +- .../TrackPush/GetTrackPushContentListVo.cs | 2 +- .../GetTrackPushContentPageInputVO.cs | 2 +- .../GetTrackPushContentPageOutputVO.cs | 11 +- .../TrackPush/QueryTrackPullMappingsInfoVO.cs | 6 +- .../TrackPush/TrackPushContentConfigVO.cs | 2 +- .../GetPageTrackTemplateListInputVo.cs | 4 +- .../TrackTemplate/GetTrackTemplateDetailVO.cs | 4 +- .../GetTrackTemplateListInputVo.cs | 4 +- .../BulkCloseCompleteWarningDetailsVO.cs | 2 - .../BulkCloseReturnWarningDetailsVO.cs | 2 - .../BulkCloseTransportWarningDetailsVO.cs | 2 - .../Warning/GetCompleteWarningDetailsVO.cs | 2 - .../GetPageCompleteWarningDetailsInputVO.cs | 4 +- .../GetPageReturnWarningDetailsInputVO.cs | 4 +- .../GetPageTransportWarningDetailsInputVO.cs | 4 +- .../Dtos/Warning/GetReturnWarningDetailsVO.cs | 2 - .../Warning/GetTransportWarningDetailsVO.cs | 2 - .../Enums/EnumPropertyEnums.cs | 24 --- .../Enums/TrackLocationValue.cs | 10 + .../Enums/TrackOrderType.cs | 8 + src/TrackCenter.Domain/GlobalUsings.cs | 1 + .../Repositories/OrderRepository.cs | 180 ++++-------------- .../Repositories/TrackDetailsEsRepository.cs | 8 +- .../Repositories/TrackPullConfigRepository.cs | 9 +- .../Repositories/TrackPushConfigRepository.cs | 50 ++--- .../Repositories/TrackStatusRepository.cs | 1 - .../WarningDetailsEsRepository.cs | 30 +-- .../Repositories/WarningRuleRepository.cs | 20 +- 110 files changed, 399 insertions(+), 706 deletions(-) delete mode 100644 src/TrackCenter.Domain/Enums/EnumPropertyEnums.cs create mode 100644 src/TrackCenter.Domain/Enums/TrackOrderType.cs diff --git a/src/TrackCenter.Application/CAP/EventHandlers/TrackDeleteEventHandler.cs b/src/TrackCenter.Application/CAP/EventHandlers/TrackDeleteEventHandler.cs index 4dedc59b..fdcfe8ae 100644 --- a/src/TrackCenter.Application/CAP/EventHandlers/TrackDeleteEventHandler.cs +++ b/src/TrackCenter.Application/CAP/EventHandlers/TrackDeleteEventHandler.cs @@ -1,4 +1,3 @@ -using System.Collections.Immutable; using DotNetCore.CAP; using InterfaceForward.Domain.Shared.Helpers; using TrackCenter.Application.Dtos.ProvideServices; @@ -9,7 +8,6 @@ using TrackCenter.Application.Services.Broadcasting; using TrackCenter.Application.Services.Warning.Signals; using TrackCenter.Domain.Aggregates.OrderAggregate; using TrackCenter.Domain.Aggregates.TrackDetailsAggregate; -using TrackCenter.Domain.Enums; using TrackCenter.Repository.Aggregates.OrderAggregate; namespace TrackCenter.Application.CAP.EventHandlers; diff --git a/src/TrackCenter.Application/CAP/EventHandlers/TrackPushEventHandler.cs b/src/TrackCenter.Application/CAP/EventHandlers/TrackPushEventHandler.cs index 6af72b85..d5b0d923 100644 --- a/src/TrackCenter.Application/CAP/EventHandlers/TrackPushEventHandler.cs +++ b/src/TrackCenter.Application/CAP/EventHandlers/TrackPushEventHandler.cs @@ -14,7 +14,6 @@ using TrackCenter.Application.Track2InterfaceRelay; using TrackCenter.Domain.Aggregates.OrderAggregate; using TrackCenter.Domain.Aggregates.TrackDetailsAggregate; using TrackCenter.Domain.Aggregates.TrackPushAggregate; -using TrackCenter.Domain.Enums; using TrackCenter.Repository.Otel; namespace TrackCenter.Application.CAP.EventHandlers; @@ -30,7 +29,7 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe private readonly BroadcastingService _broadcastingService; private List _orders = null!; private List _pushConfigs = null!; - private Dictionary> _orderTypeSortedConfigsDict = null!; //订单类型,根据sort从小到大排序后的配置字典 + private Dictionary> _orderTypeSortedConfigsDict = null!; //订单类型,根据sort从小到大排序后的配置字典 public TrackPushEventHandler( IOrderRepository orderRepository, @@ -55,11 +54,11 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe public async Task ConsumerAsync(TrackPushEvent @event) { // 应用+客户id找推送映射配置 - var pushConfigs = await _trackPushCacheService.GetPushContentConfigsAsync(@event.AppKey, @event.CustomId); + var pushConfigs = await _trackPushCacheService.GetPushContentConfigsAsync(@event.AppKey, @event.Customer); if (pushConfigs == null || pushConfigs.Count == 0) return; if (pushConfigs.First().ServiceProviderCode.IsNullOrWhiteSpace()) { - throw new BusinessException(GlobalConst.CapNoRetryErrorCode, $"该客户{@event.CustomId}未关联服务商,无法推送"); + throw new BusinessException(GlobalConst.CapNoRetryErrorCode, $"该客户{@event.Customer}未关联服务商,无法推送"); } _pushConfigs = pushConfigs; @@ -154,7 +153,7 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe // tips:不同订单类型可能会有不同的顺序 if (!_orderTypeSortedConfigsDict.TryGetValue(order.OrderType, out var sortedConfigs)) { - TrackPushFailedPublicTopic($"应用:[{@event.AppKey}],客户id:[{@event.CustomId}],没有订单类型[{order.OrderType}]的推送映射配置", @event, order); + TrackPushFailedPublicTopic($"应用:[{@event.AppKey}],客户:[{@event.Customer}],没有订单类型[{order.OrderType}]的推送映射配置", @event, order); continue; } @@ -221,7 +220,7 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe // tips:不同订单类型可能会有不同的顺序 if (!_orderTypeSortedConfigsDict.TryGetValue(order.OrderType, out var sortedConfigs)) { - TrackPushFailedPublicTopic($"应用:[{@event.AppKey}],客户id:[{@event.CustomId}],没有订单类型[{order.OrderType}]的推送映射配置", @event, order); + TrackPushFailedPublicTopic($"应用:[{@event.AppKey}],客户:[{@event.Customer}],没有订单类型[{order.OrderType}]的推送映射配置", @event, order); continue; } @@ -229,13 +228,13 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe var config = sortedConfigs.FirstOrDefault(x => x.TrackCode == @event.TrackCode); if (config == null) { - TrackPushFailedPublicTopic($"应用:[{@event.AppKey}],客户id:[{@event.CustomId}],没有订单类型[{order.OrderType}]的推送映射配置," + + TrackPushFailedPublicTopic($"应用:[{@event.AppKey}],客户:[{@event.Customer}],没有订单类型[{order.OrderType}]的推送映射配置," + $"没有在推送映射配置中找到关于轨迹代码[{@event.TrackCode}]的配置", @event, order); return; } // 系统不推异常单,只能人工操作 - if (order.QuestionType == (int) TrackProblemType.Error) + if (order.QuestionType == TrackProblemType.Error) { TrackPushFailedPublicTopic("系统不推异常单,只能人工操作", @event, order); continue; @@ -306,7 +305,7 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe // tips:不同订单类型可能会有不同的顺序 if (!_orderTypeSortedConfigsDict.TryGetValue(order.OrderType, out var sortedConfigs)) { - TrackPushFailedPublicTopic($"应用:[{@event.AppKey}],客户id:[{@event.CustomId}],没有订单类型[{order.OrderType}]的推送映射配置", @event, order); + TrackPushFailedPublicTopic($"应用:[{@event.AppKey}],客户:[{@event.Customer}],没有订单类型[{order.OrderType}]的推送映射配置", @event, order); continue; } diff --git a/src/TrackCenter.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs b/src/TrackCenter.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs index e5ae60a0..b68d2333 100644 --- a/src/TrackCenter.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs +++ b/src/TrackCenter.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs @@ -9,7 +9,6 @@ using TrackCenter.Application.Services.Warning.Signals; using TrackCenter.Domain.Aggregates.OrderAggregate; using TrackCenter.Domain.Aggregates.TrackDetailsAggregate; using TrackCenter.Domain.Dtos.TrackContents; -using TrackCenter.Domain.Enums; using TrackCenter.Repository.Aggregates.OrderAggregate; using TrackCenter.Repository.Otel; using OrderIdentifier = TrackCenter.Application.Events.OrderIdentifier; @@ -71,13 +70,13 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe .GroupBy(x => new { x.AppKey, - x.CustomId // 这里按客户分组是为了后续的推送方便 + x.Customer // 这里按客户分组是为了后续的推送方便 })) { var nextEvent = @event.DeepCopy(); nextEvent.Visited.AddRange(canNextOrderIds); nextEvent.AppKey = group.Key.AppKey; - nextEvent.CustomId = group.Key.CustomId; + nextEvent.Customer = group.Key.Customer; nextEvent.TrackRefreshData = new TrackRefreshStruct { ServiceProviderCode = @event.TrackRefreshData.ServiceProviderCode, @@ -238,7 +237,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe { OptionType = @event.IsAdd ? OptionType.新增 : OptionType.修改, AppKey = @event.AppKey, - CustomId = @event.CustomId, + Customer = @event.Customer, OrderIdTrackMetadataDict = orderIdTrackMetadataDict, TrackCode = @event.TrackCode, SystemPushInfo = new SystemPushStruct @@ -574,7 +573,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe TrackCode = @event.TrackCode, OperationMan = @event.OperationMan, OrderIdentifiers = @event.OrderIdentifiers, - CustomId = @event.CustomId, + Customer = @event.Customer, AppKey = @event.AppKey, Extra = @event.NewExtra ?? @event.Extra }; diff --git a/src/TrackCenter.Application/Dtos/Forewarning/RuleAreaBaseInfo.cs b/src/TrackCenter.Application/Dtos/Forewarning/RuleAreaBaseInfo.cs index 933a836b..a11fa3f2 100644 --- a/src/TrackCenter.Application/Dtos/Forewarning/RuleAreaBaseInfo.cs +++ b/src/TrackCenter.Application/Dtos/Forewarning/RuleAreaBaseInfo.cs @@ -6,12 +6,12 @@ public class RuleAreaBaseInfo { } - public RuleAreaBaseInfo(string appKey, int customerId) + public RuleAreaBaseInfo(string appKey, string customer) { AppKey = appKey; - CustomerId = customerId; + Customer = customer; } public string AppKey { get; set; } - public int CustomerId { get; set; } + public string Customer { get; set; } } diff --git a/src/TrackCenter.Application/Dtos/ProvideServices/GetOrderDetailsInput.cs b/src/TrackCenter.Application/Dtos/ProvideServices/GetOrderDetailsInput.cs index 534b88c5..9f4852d6 100644 --- a/src/TrackCenter.Application/Dtos/ProvideServices/GetOrderDetailsInput.cs +++ b/src/TrackCenter.Application/Dtos/ProvideServices/GetOrderDetailsInput.cs @@ -20,7 +20,7 @@ public class TrackOrderDetailDto /// /// 订单类型(主数据枚举TrackOrderType) /// - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 订单号 diff --git a/src/TrackCenter.Application/Dtos/ProvideServices/GetPageTrackOrderInput.cs b/src/TrackCenter.Application/Dtos/ProvideServices/GetPageTrackOrderInput.cs index 8aae7ff9..a0bfb534 100644 --- a/src/TrackCenter.Application/Dtos/ProvideServices/GetPageTrackOrderInput.cs +++ b/src/TrackCenter.Application/Dtos/ProvideServices/GetPageTrackOrderInput.cs @@ -28,9 +28,9 @@ public class GetPageTrackOrderInput : PageInfoInput public int? TrackOrderType { get; set; } /// - /// 客户id + /// 客户 /// - public int? CustomerId { get; set; } + public string? Customer { get; set; } ///// ///// 当tab选中 0 默认不传 1 直接写死传值 [1,4] 2 传 [2,4] @@ -61,7 +61,7 @@ public class TrackOrderDto /// /// 订单类型id /// - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 订单名称 @@ -84,9 +84,9 @@ public class TrackOrderDto public string? CustomerCode { get; set; } /// - /// 客户id + /// 客户 /// - public int CustomerId { get; set; } + public string Customer { get; set; } /// /// 订单明细(json) diff --git a/src/TrackCenter.Application/Dtos/ProvideServices/GetPageTrackTemplateListInput.cs b/src/TrackCenter.Application/Dtos/ProvideServices/GetPageTrackTemplateListInput.cs index 864778b1..abfda118 100644 --- a/src/TrackCenter.Application/Dtos/ProvideServices/GetPageTrackTemplateListInput.cs +++ b/src/TrackCenter.Application/Dtos/ProvideServices/GetPageTrackTemplateListInput.cs @@ -8,9 +8,9 @@ public class GetPageTrackTemplateListInput : PageInfoInput public string AppKey { get; set; } /// - /// 客户id + /// 客户 /// - public int? CustomerId { get; set; } + public string? Customer { get; set; } /// /// 模版分类 diff --git a/src/TrackCenter.Application/Dtos/ProvideServices/GetTrackTemplateListInput.cs b/src/TrackCenter.Application/Dtos/ProvideServices/GetTrackTemplateListInput.cs index 6eb8027a..2e35e8f1 100644 --- a/src/TrackCenter.Application/Dtos/ProvideServices/GetTrackTemplateListInput.cs +++ b/src/TrackCenter.Application/Dtos/ProvideServices/GetTrackTemplateListInput.cs @@ -8,9 +8,9 @@ public class GetTrackTemplateListInput public string AppKey { get; set; } /// - /// 客户id + /// 客户 /// - public int? CustomerId { get; set; } + public string? Customer { get; set; } /// /// 模版分类 diff --git a/src/TrackCenter.Application/Dtos/ProvideServices/LinkOrderInput.cs b/src/TrackCenter.Application/Dtos/ProvideServices/LinkOrderInput.cs index 0a00111f..bb8f5287 100644 --- a/src/TrackCenter.Application/Dtos/ProvideServices/LinkOrderInput.cs +++ b/src/TrackCenter.Application/Dtos/ProvideServices/LinkOrderInput.cs @@ -21,7 +21,7 @@ public class LinkOrderInput /// 订单类型,必填 /// [Required] - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 订单号,必填 @@ -40,7 +40,7 @@ public class LinkOrderInput /// 关联单类型 /// [Required] - public int LinkOrderType { get; set; } + public TrackOrderType LinkOrderType { get; set; } /// /// 关联的单号 diff --git a/src/TrackCenter.Application/Dtos/ProvideServices/OrderNoInfo.cs b/src/TrackCenter.Application/Dtos/ProvideServices/OrderNoInfo.cs index 757402bd..5ea99709 100644 --- a/src/TrackCenter.Application/Dtos/ProvideServices/OrderNoInfo.cs +++ b/src/TrackCenter.Application/Dtos/ProvideServices/OrderNoInfo.cs @@ -19,7 +19,7 @@ public class OrderNoInfo /// [Required] [Range(1, int.MaxValue)] - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 订单号,必填 @@ -43,7 +43,7 @@ public class OrderNosInfo /// [Required] [Range(1, int.MaxValue)] - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 订单号 diff --git a/src/TrackCenter.Application/Dtos/ProvideServices/QueryTrackPullMappingsInput.cs b/src/TrackCenter.Application/Dtos/ProvideServices/QueryTrackPullMappingsInput.cs index 3cea5f11..48d38ae7 100644 --- a/src/TrackCenter.Application/Dtos/ProvideServices/QueryTrackPullMappingsInput.cs +++ b/src/TrackCenter.Application/Dtos/ProvideServices/QueryTrackPullMappingsInput.cs @@ -11,9 +11,9 @@ public class QueryTrackPullMappingsInput public int AppsId { get; set; } /// - /// 客户id + /// 客户 /// - public int CustomerId { get; set; } + public string Customer { get; set; } } /// @@ -29,7 +29,7 @@ public class QueryTrackPullMappingsInfo /// /// 订单类型 /// - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 服务商轨迹代码 diff --git a/src/TrackCenter.Application/Dtos/ProvideServices/UpsertOrderInput.cs b/src/TrackCenter.Application/Dtos/ProvideServices/UpsertOrderInput.cs index fc6a1020..fe3f551d 100644 --- a/src/TrackCenter.Application/Dtos/ProvideServices/UpsertOrderInput.cs +++ b/src/TrackCenter.Application/Dtos/ProvideServices/UpsertOrderInput.cs @@ -5,9 +5,9 @@ namespace TrackCenter.Application.Dtos.ProvideServices; public class UpsertOrderInput : UpdateOrderInput { /// - /// 客户id + /// 客户 /// - public int CustomId { get; set; } + public string Customer { get; set; } /// /// 当前操作人 diff --git a/src/TrackCenter.Application/Dtos/TrackContents/GetContentDetailInput.cs b/src/TrackCenter.Application/Dtos/TrackContents/GetContentDetailInput.cs index fec4c3d3..55d84480 100644 --- a/src/TrackCenter.Application/Dtos/TrackContents/GetContentDetailInput.cs +++ b/src/TrackCenter.Application/Dtos/TrackContents/GetContentDetailInput.cs @@ -15,7 +15,7 @@ public class GetContentDetailInput /// /// 订单类型 /// - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 轨迹code diff --git a/src/TrackCenter.Application/Dtos/TrackContents/GetContentDetailOutput.cs b/src/TrackCenter.Application/Dtos/TrackContents/GetContentDetailOutput.cs index 86097c84..3ab1028d 100644 --- a/src/TrackCenter.Application/Dtos/TrackContents/GetContentDetailOutput.cs +++ b/src/TrackCenter.Application/Dtos/TrackContents/GetContentDetailOutput.cs @@ -25,7 +25,7 @@ public class GetContentDetailOutput /// /// 订单类型(主数据枚举TrackOrderType) /// - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 轨迹状态 diff --git a/src/TrackCenter.Application/Dtos/TrackPull/TrackRefreshAttach.cs b/src/TrackCenter.Application/Dtos/TrackPull/TrackRefreshAttach.cs index 83cfb65b..da4c3e73 100644 --- a/src/TrackCenter.Application/Dtos/TrackPull/TrackRefreshAttach.cs +++ b/src/TrackCenter.Application/Dtos/TrackPull/TrackRefreshAttach.cs @@ -2,10 +2,10 @@ namespace TrackCenter.Application.Dtos.TrackPull; public class TrackRefreshAttach { - public TrackRefreshAttach(string serviceProviderCode, string AppKey, int orderType) + public TrackRefreshAttach(string serviceProviderCode, string appKey, TrackOrderType orderType) { ServiceProviderCode = serviceProviderCode; - AppKey = AppKey; + AppKey = appKey; OrderType = orderType; } @@ -17,7 +17,7 @@ public class TrackRefreshAttach /// /// 订单类型(主数据枚举TrackOrderType) /// - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 应用 diff --git a/src/TrackCenter.Application/Dtos/TrackPull/TrackRefreshContext.cs b/src/TrackCenter.Application/Dtos/TrackPull/TrackRefreshContext.cs index f1954120..0932f0ec 100644 --- a/src/TrackCenter.Application/Dtos/TrackPull/TrackRefreshContext.cs +++ b/src/TrackCenter.Application/Dtos/TrackPull/TrackRefreshContext.cs @@ -10,7 +10,7 @@ public class TrackRefreshContext /// /// 订单类型 /// - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 订单号 @@ -23,9 +23,9 @@ public class TrackRefreshContext public string ServiceProviderCode { get; set; } = null!; /// - /// 客户id + /// 客户 /// - public int CustomId { get; set; } + public string Customer { get; set; } /// /// 应用 diff --git a/src/TrackCenter.Application/Dtos/TrackPush/EditTrackPushConfigInput.cs b/src/TrackCenter.Application/Dtos/TrackPush/EditTrackPushConfigInput.cs index df383724..486e2d96 100644 --- a/src/TrackCenter.Application/Dtos/TrackPush/EditTrackPushConfigInput.cs +++ b/src/TrackCenter.Application/Dtos/TrackPush/EditTrackPushConfigInput.cs @@ -3,9 +3,9 @@ namespace TrackCenter.Application.Dtos.TrackPush; public class EditTrackPushConfigInput { /// - /// 客户id + /// 客户 /// - public int? CustomId { get; set; } + public string Customer { get; set; } public int? Id { get; set; } @@ -24,11 +24,6 @@ public class EditTrackPushConfigInput /// public string? ServiceProviderCode { get; set; } - /// - /// 应用 - /// - public int? AppKey { get; set; } - /// /// 是否支持更新 /// diff --git a/src/TrackCenter.Application/Dtos/TrackPush/EditTrackPushContentInput.cs b/src/TrackCenter.Application/Dtos/TrackPush/EditTrackPushContentInput.cs index 40446b1e..39e19fb1 100644 --- a/src/TrackCenter.Application/Dtos/TrackPush/EditTrackPushContentInput.cs +++ b/src/TrackCenter.Application/Dtos/TrackPush/EditTrackPushContentInput.cs @@ -17,7 +17,7 @@ public class EditTrackPushContentInput /// /// 推送单号类型 /// - public int OrderNoType { get; set; } + public TrackOrderType OrderNoType { get; set; } /// /// 推送轨迹排序 diff --git a/src/TrackCenter.Application/Dtos/TrackPush/QueryPushRecordInput.cs b/src/TrackCenter.Application/Dtos/TrackPush/QueryPushRecordInput.cs index da71e07d..b30d98e3 100644 --- a/src/TrackCenter.Application/Dtos/TrackPush/QueryPushRecordInput.cs +++ b/src/TrackCenter.Application/Dtos/TrackPush/QueryPushRecordInput.cs @@ -12,7 +12,7 @@ public class QueryPushRecordInput /// 订单类型 [Required] [Range(1, int.MaxValue)] - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// 订单号集合 [Required] diff --git a/src/TrackCenter.Application/Dtos/TrackPush/TrackPushContentConfigDto.cs b/src/TrackCenter.Application/Dtos/TrackPush/TrackPushContentConfigDto.cs index f2fec772..e382b424 100644 --- a/src/TrackCenter.Application/Dtos/TrackPush/TrackPushContentConfigDto.cs +++ b/src/TrackCenter.Application/Dtos/TrackPush/TrackPushContentConfigDto.cs @@ -40,7 +40,7 @@ public class TrackPushContentConfigDto /// /// 推送单号类型(主数据枚举TrackOrderType) /// - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 推送顺序 diff --git a/src/TrackCenter.Application/Dtos/TrackPush/TrackPushContentDto.cs b/src/TrackCenter.Application/Dtos/TrackPush/TrackPushContentDto.cs index 2893226e..dabec9e0 100644 --- a/src/TrackCenter.Application/Dtos/TrackPush/TrackPushContentDto.cs +++ b/src/TrackCenter.Application/Dtos/TrackPush/TrackPushContentDto.cs @@ -12,7 +12,7 @@ public class TrackPushContentDto /// /// 推送单号类型 /// - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 服务商轨迹代码 diff --git a/src/TrackCenter.Application/Dtos/TrackTemplates/GetTrackDetailDto.cs b/src/TrackCenter.Application/Dtos/TrackTemplates/GetTrackDetailDto.cs index cd888131..b017a6cd 100644 --- a/src/TrackCenter.Application/Dtos/TrackTemplates/GetTrackDetailDto.cs +++ b/src/TrackCenter.Application/Dtos/TrackTemplates/GetTrackDetailDto.cs @@ -108,7 +108,7 @@ public class EditTrackTemplateInput public int CategoryId { get; set; } /// - /// 客户id + /// 客户 /// - public int CustomerId { get; set; } + public string Customer { get; set; } } diff --git a/src/TrackCenter.Application/Dtos/Warning/Complete/CompleteWarningDetailsDto.cs b/src/TrackCenter.Application/Dtos/Warning/Complete/CompleteWarningDetailsDto.cs index c461eeb8..08148025 100644 --- a/src/TrackCenter.Application/Dtos/Warning/Complete/CompleteWarningDetailsDto.cs +++ b/src/TrackCenter.Application/Dtos/Warning/Complete/CompleteWarningDetailsDto.cs @@ -25,7 +25,7 @@ public class CompleteWarningDetailsDto /// /// 订单类型 /// - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 订单类型名称 @@ -49,14 +49,9 @@ public class CompleteWarningDetailsDto public int Status { get; set; } /// - /// 客户id + /// 客户 /// - public int CustomId { get; set; } - - /// - /// 客户简称 - /// - public string CustomName { get; set; } + public string Customer { get; set; } /// /// 缺失轨迹状态 e.g [ {1:"状态1",2:"状态2"} , {3:"状态3",4:"状态4"} ] diff --git a/src/TrackCenter.Application/Dtos/Warning/Complete/CompleteWarningRuleItemDto.cs b/src/TrackCenter.Application/Dtos/Warning/Complete/CompleteWarningRuleItemDto.cs index 259b8bac..5bf539a5 100644 --- a/src/TrackCenter.Application/Dtos/Warning/Complete/CompleteWarningRuleItemDto.cs +++ b/src/TrackCenter.Application/Dtos/Warning/Complete/CompleteWarningRuleItemDto.cs @@ -51,7 +51,7 @@ public class OrderTypeDto /// /// 订单类型 /// - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 订单类型名称 diff --git a/src/TrackCenter.Application/Dtos/Warning/Complete/GetPageCompleteWarningDetailsInput.cs b/src/TrackCenter.Application/Dtos/Warning/Complete/GetPageCompleteWarningDetailsInput.cs index a570d53a..f0fd888a 100644 --- a/src/TrackCenter.Application/Dtos/Warning/Complete/GetPageCompleteWarningDetailsInput.cs +++ b/src/TrackCenter.Application/Dtos/Warning/Complete/GetPageCompleteWarningDetailsInput.cs @@ -30,9 +30,9 @@ public class GetPageCompleteWarningDetailsInput : PageInfoInput public int? Status { get; set; } /// - /// 客户id + /// 客户 /// - public int? CustomId { get; set; } + public string Customer { get; set; } /// /// 缺失轨迹状态id diff --git a/src/TrackCenter.Application/Dtos/Warning/GetWarningRuleInput.cs b/src/TrackCenter.Application/Dtos/Warning/GetWarningRuleInput.cs index 79819989..e30e02ee 100644 --- a/src/TrackCenter.Application/Dtos/Warning/GetWarningRuleInput.cs +++ b/src/TrackCenter.Application/Dtos/Warning/GetWarningRuleInput.cs @@ -16,9 +16,9 @@ public class GetWarningRuleInput public string? KpiName { get; set; } /// - /// 客户id + /// 客户 /// - public int? CustomId { get; set; } + public string Customer { get; set; } /// /// 是否启用(留null查全部) diff --git a/src/TrackCenter.Application/Dtos/Warning/Return/GetPageReturnWarningDetailsInput.cs b/src/TrackCenter.Application/Dtos/Warning/Return/GetPageReturnWarningDetailsInput.cs index 8d62f156..372ddca4 100644 --- a/src/TrackCenter.Application/Dtos/Warning/Return/GetPageReturnWarningDetailsInput.cs +++ b/src/TrackCenter.Application/Dtos/Warning/Return/GetPageReturnWarningDetailsInput.cs @@ -30,9 +30,9 @@ public class GetPageReturnWarningDetailsInput : PageInfoInput public int? Status { get; set; } /// - /// 客户id + /// 客户 /// - public int? CustomId { get; set; } + public string Customer { get; set; } /// /// 轨迹状态id diff --git a/src/TrackCenter.Application/Dtos/Warning/Return/ReturnWarningDetailsDto.cs b/src/TrackCenter.Application/Dtos/Warning/Return/ReturnWarningDetailsDto.cs index c9233f7b..dc4e8cda 100644 --- a/src/TrackCenter.Application/Dtos/Warning/Return/ReturnWarningDetailsDto.cs +++ b/src/TrackCenter.Application/Dtos/Warning/Return/ReturnWarningDetailsDto.cs @@ -23,7 +23,7 @@ public sealed class ReturnWarningDetailsDto /// /// 订单类型 /// - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 订单类型名称 @@ -46,14 +46,9 @@ public sealed class ReturnWarningDetailsDto public int Status { get; set; } /// - /// 客户id + /// 客户 /// - public int CustomId { get; set; } - - /// - /// 客户简称 - /// - public string CustomName { get; set; } + public string Customer { get; set; } /// /// 轨迹状态 diff --git a/src/TrackCenter.Application/Dtos/Warning/Transport/GetPageTransportWarningDetailsInput.cs b/src/TrackCenter.Application/Dtos/Warning/Transport/GetPageTransportWarningDetailsInput.cs index ad69357e..496a58ec 100644 --- a/src/TrackCenter.Application/Dtos/Warning/Transport/GetPageTransportWarningDetailsInput.cs +++ b/src/TrackCenter.Application/Dtos/Warning/Transport/GetPageTransportWarningDetailsInput.cs @@ -29,9 +29,9 @@ public class GetPageTransportWarningDetailsInput : PageInfoInput public int? Status { get; set; } /// - /// 客户Id + /// 客户 /// - public int? CustomId { get; set; } + public string Customer { get; set; } /// /// 预警名称 diff --git a/src/TrackCenter.Application/Dtos/Warning/Transport/TransportWarningDetailsDto.cs b/src/TrackCenter.Application/Dtos/Warning/Transport/TransportWarningDetailsDto.cs index 0fa06569..3322aae3 100644 --- a/src/TrackCenter.Application/Dtos/Warning/Transport/TransportWarningDetailsDto.cs +++ b/src/TrackCenter.Application/Dtos/Warning/Transport/TransportWarningDetailsDto.cs @@ -21,14 +21,9 @@ public sealed class TransportWarningDetailsDto public string AppName { get; set; } /// - /// 客户id + /// 客户 /// - public int CustomId { get; set; } - - /// - /// 客户简称 - /// - public string CustomName { get; set; } + public string Customer { get; set; } /// /// 订单id @@ -43,7 +38,7 @@ public sealed class TransportWarningDetailsDto /// /// 订单类型 /// - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 订单类型名称 diff --git a/src/TrackCenter.Application/Dtos/Warning/UpsertWarningRuleInput.cs b/src/TrackCenter.Application/Dtos/Warning/UpsertWarningRuleInput.cs index 03184bf1..228e6455 100644 --- a/src/TrackCenter.Application/Dtos/Warning/UpsertWarningRuleInput.cs +++ b/src/TrackCenter.Application/Dtos/Warning/UpsertWarningRuleInput.cs @@ -20,10 +20,10 @@ public class UpsertWarningRuleInput public string AppKey { get; set; } //应用 /// - /// 客户id + /// 客户 /// [IdRequired] - public int CustomId { get; set; } //客户id + public string Customer { get; set; } //客户 /// /// 预警规则名称 diff --git a/src/TrackCenter.Application/Dtos/Warning/WarningRuleDto.cs b/src/TrackCenter.Application/Dtos/Warning/WarningRuleDto.cs index 11f5f01f..8ce85694 100644 --- a/src/TrackCenter.Application/Dtos/Warning/WarningRuleDto.cs +++ b/src/TrackCenter.Application/Dtos/Warning/WarningRuleDto.cs @@ -21,14 +21,9 @@ public sealed class WarningRuleDto public string AppName { get; set; } /// - /// 客户id + /// 客户 /// - public int CustomId { get; set; } //客户id - - /// - /// 客户简称 - /// - public string CustomName { get; set; } + public string Customer { get; set; } /// /// 预警规则名称 diff --git a/src/TrackCenter.Application/Events/OrderIdentifier.cs b/src/TrackCenter.Application/Events/OrderIdentifier.cs index c44f085c..d42f574c 100644 --- a/src/TrackCenter.Application/Events/OrderIdentifier.cs +++ b/src/TrackCenter.Application/Events/OrderIdentifier.cs @@ -15,5 +15,5 @@ public struct OrderIdentifier /// /// 订单类型 /// - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } } diff --git a/src/TrackCenter.Application/Events/TrackChangeEto.cs b/src/TrackCenter.Application/Events/TrackChangeEto.cs index f5f5b84a..dedb1dff 100644 --- a/src/TrackCenter.Application/Events/TrackChangeEto.cs +++ b/src/TrackCenter.Application/Events/TrackChangeEto.cs @@ -35,9 +35,9 @@ public class TrackChangeEto public string OrderNo { get; set; } /// - /// 客户id + /// 客户 /// - public int CustomId { get; set; } + public string Customer { get; set; } /// /// 订单id diff --git a/src/TrackCenter.Application/Events/TrackPushEvent.cs b/src/TrackCenter.Application/Events/TrackPushEvent.cs index 37438adf..001c35b4 100644 --- a/src/TrackCenter.Application/Events/TrackPushEvent.cs +++ b/src/TrackCenter.Application/Events/TrackPushEvent.cs @@ -17,9 +17,9 @@ public class TrackPushEvent public string AppKey { get; set; } /// - /// 客户id + /// 客户 /// - public int CustomId { get; set; } + public string Customer { get; set; } // /// // /// 订单id diff --git a/src/TrackCenter.Application/Events/TrackUpsertEvent.cs b/src/TrackCenter.Application/Events/TrackUpsertEvent.cs index ac0276f4..045b0fe1 100644 --- a/src/TrackCenter.Application/Events/TrackUpsertEvent.cs +++ b/src/TrackCenter.Application/Events/TrackUpsertEvent.cs @@ -10,9 +10,9 @@ public class TrackUpsertEvent public string AppKey { get; set; } /// - /// 客户id + /// 客户 /// - public int CustomId { get; set; } + public string Customer { get; set; } /// /// 订单id diff --git a/src/TrackCenter.Application/GlobalUsings.cs b/src/TrackCenter.Application/GlobalUsings.cs index ffc57d24..f4a105e7 100644 --- a/src/TrackCenter.Application/GlobalUsings.cs +++ b/src/TrackCenter.Application/GlobalUsings.cs @@ -5,5 +5,6 @@ global using Microsoft.AspNetCore.Mvc; global using Microsoft.Extensions.DependencyInjection; global using TrackCenter.Domain; global using TrackCenter.Domain.Dtos.Common; +global using TrackCenter.Domain.Enums; global using TrackCenter.Domain.Extensions; global using TrackCenter.Repository.Redis; diff --git a/src/TrackCenter.Application/Hangfire/WarningNotifyAggregator.cs b/src/TrackCenter.Application/Hangfire/WarningNotifyAggregator.cs index 1c9111f7..da71b1bf 100644 --- a/src/TrackCenter.Application/Hangfire/WarningNotifyAggregator.cs +++ b/src/TrackCenter.Application/Hangfire/WarningNotifyAggregator.cs @@ -8,7 +8,6 @@ using TrackCenter.Domain.Aggregates.TrackDetailsAggregate; using TrackCenter.Domain.Aggregates.WarningAggregate; using TrackCenter.Domain.Dtos.Forewarning; using TrackCenter.Domain.Dtos.Warning; -using TrackCenter.Domain.Enums; namespace TrackCenter.Application.Hangfire; diff --git a/src/TrackCenter.Application/Hangfire/WarningTaskService.cs b/src/TrackCenter.Application/Hangfire/WarningTaskService.cs index c69251a5..ef0c8b56 100644 --- a/src/TrackCenter.Application/Hangfire/WarningTaskService.cs +++ b/src/TrackCenter.Application/Hangfire/WarningTaskService.cs @@ -5,7 +5,6 @@ using TrackCenter.Application.Dtos.TrackPush; using TrackCenter.Domain.Aggregates.WarningAggregate; using TrackCenter.Domain.Aggregates.WarningAggregate.Return; using TrackCenter.Domain.Dtos.Warning; -using TrackCenter.Domain.Enums; using TrackCenter.Application.Helpers; using TrackCenter.Application.Options; using TrackCenter.Application.Track2InterfaceRelay; diff --git a/src/TrackCenter.Application/Rabbit/TrackPushCompletedEventHandler.cs b/src/TrackCenter.Application/Rabbit/TrackPushCompletedEventHandler.cs index f48d1395..4fea32a3 100644 --- a/src/TrackCenter.Application/Rabbit/TrackPushCompletedEventHandler.cs +++ b/src/TrackCenter.Application/Rabbit/TrackPushCompletedEventHandler.cs @@ -7,7 +7,6 @@ using TrackCenter.Application.Services.Broadcasting; using TrackCenter.Application.Services.Warning.Handlers; using TrackCenter.Domain.Aggregates.OrderAggregate; using TrackCenter.Domain.Aggregates.TrackPushAggregate; -using TrackCenter.Domain.Enums; namespace TrackCenter.Application.Rabbit; @@ -115,7 +114,7 @@ public class TrackPushCompletedEventHandler : ITransientDependency, IRabbitHandl var orders = logs.Select(x => new OrderEntity { Id = x.OrderId, - QuestionType = (int) TrackProblemType.Error, + QuestionType = TrackProblemType.Error, LatestPushError = x.Message }).ToList(); diff --git a/src/TrackCenter.Application/Rabbit/TrackRefreshEventHandler.cs b/src/TrackCenter.Application/Rabbit/TrackRefreshEventHandler.cs index b96ca20f..7dc30414 100644 --- a/src/TrackCenter.Application/Rabbit/TrackRefreshEventHandler.cs +++ b/src/TrackCenter.Application/Rabbit/TrackRefreshEventHandler.cs @@ -12,7 +12,6 @@ using TrackCenter.Application.Helpers; using TrackCenter.Application.Services.TrackPull; using TrackCenter.Domain.Aggregates.OrderAggregate; using TrackCenter.Domain.Aggregates.TrackDetailsAggregate; -using TrackCenter.Domain.Enums; namespace TrackCenter.Application.Rabbit; @@ -128,7 +127,7 @@ public class TrackRefreshEventHandler : ITransientDependency, IRabbitHandler { OrderId = order.MainOrderId, OrderNo = order.OrderNo, - CustomId = order.CustomId, + Customer = order.Customer, OrderType = attach.OrderType, AppKey = attach.AppKey, ServiceProviderCode = attach.ServiceProviderCode @@ -271,7 +270,7 @@ public class TrackRefreshEventHandler : ITransientDependency, IRabbitHandler OriginTrackContent = trackContent ?? GlobalConst.EmptyString, }, AppKey = context.AppKey, - CustomId = context.CustomId, + Customer = context.Customer, TrackCode = matchedContentConfig.TrackContentCode, TrackPlace = trackPlace ?? GlobalConst.EmptyString, TrackTime = trackTime.Value, diff --git a/src/TrackCenter.Application/Services/ProvideServices/OrderService.Link.cs b/src/TrackCenter.Application/Services/ProvideServices/OrderService.Link.cs index 884a32e5..4c1433bd 100644 --- a/src/TrackCenter.Application/Services/ProvideServices/OrderService.Link.cs +++ b/src/TrackCenter.Application/Services/ProvideServices/OrderService.Link.cs @@ -75,7 +75,7 @@ public partial class OrderService x.OrderNo, x.OrderType, AppKey = x.AppKey, - x.CustomId + x.Customer }); // 如果有不存在的单,需要抛异常 @@ -97,7 +97,7 @@ public partial class OrderService foreach (var group in existedOrders.GroupBy(x => new { x.AppKey, - x.CustomId + x.Customer })) { foreach (var track in tracks) @@ -105,7 +105,7 @@ public partial class OrderService var fillTrackEvent = new TrackUpsertEvent { AppKey = group.Key.AppKey, - CustomId = group.Key.CustomId, + Customer = group.Key.Customer, OrderIdentifiers = group.Select(x => new OrderIdentifier diff --git a/src/TrackCenter.Application/Services/ProvideServices/TrackPushService.cs b/src/TrackCenter.Application/Services/ProvideServices/TrackPushService.cs index 02a9ec16..08c0a14b 100644 --- a/src/TrackCenter.Application/Services/ProvideServices/TrackPushService.cs +++ b/src/TrackCenter.Application/Services/ProvideServices/TrackPushService.cs @@ -8,7 +8,6 @@ using TrackCenter.Domain.Aggregates.TrackDetailsAggregate; using TrackCenter.Domain.Aggregates.TrackPushAggregate; using TrackCenter.Domain.Dtos.TrackPush; using TrackCenter.Application.Helpers; -using TrackCenter.Application.Queries; namespace TrackCenter.Application.Services.ProvideServices; @@ -54,7 +53,7 @@ public class TrackPushService : ApplicationServiceBase && input.OrderNos.Contains(x.OrderNo), x => new { x.Id, - x.CustomId + x.Customer }); if (!orders.Any()) @@ -115,7 +114,7 @@ public class TrackPushService : ApplicationServiceBase { OptionType = OptionType.新增, AppKey = input.AppKey, - CustomId = order.CustomId, + Customer = order.Customer, OrderIdTrackMetadataDict = new Dictionary { [order.Id] = TrackMetadata.Build(track.Id, track.Version, track.CreateTime) @@ -148,12 +147,12 @@ public class TrackPushService : ApplicationServiceBase /// 获取轨迹推送内容 /// /// - /// + /// /// [HttpGet("Track/GetTrackPushContentList")] - public async Task> GetTrackPushContentListAsync(string AppKey, int customerId) + public async Task> GetTrackPushContentListAsync(string AppKey, string customer) { - var list = await _trackPushConfigRepository.GetTrackPushContentListAsync(AppKey, customerId); + var list = await _trackPushConfigRepository.GetTrackPushContentListAsync(AppKey, customer); var result = ObjectMapper.Map, List>(list); diff --git a/src/TrackCenter.Application/Services/ProvideServices/TrackService.cs b/src/TrackCenter.Application/Services/ProvideServices/TrackService.cs index 187b2fe3..20d971b2 100644 --- a/src/TrackCenter.Application/Services/ProvideServices/TrackService.cs +++ b/src/TrackCenter.Application/Services/ProvideServices/TrackService.cs @@ -5,7 +5,6 @@ using TrackCenter.Application.Events; using TrackCenter.Domain.Aggregates.OrderAggregate; using TrackCenter.Domain.Aggregates.TrackContentAggregate; using TrackCenter.Domain.Aggregates.TrackDetailsAggregate; -using TrackCenter.Domain.Enums; using TrackCenter.Application.Helpers; using TrackCenter.Repository.Otel; @@ -226,7 +225,7 @@ public partial class TrackService : ApplicationServiceBase { x.Id, x.OrderNo, - x.CustomId + x.Customer }); if (order == null) { @@ -256,7 +255,7 @@ public partial class TrackService : ApplicationServiceBase input.TrackTimeZone ??= GlobalConst.NoneTrackTimeZone; //时区为空使用一个特殊值填充 var @event = ObjectMapper.Map(input); @event.AppKey = input.AppKey; - @event.CustomId = order.CustomId; + @event.Customer = order.Customer; @event.OrderIdentifiers = new[] { new OrderIdentifier @@ -290,7 +289,7 @@ public partial class TrackService : ApplicationServiceBase { x.Id, x.OrderNo, - x.CustomId + x.Customer }); if (orders.Count == 0) @@ -323,12 +322,12 @@ public partial class TrackService : ApplicationServiceBase input.CompareFields); // 按客户新增/更新轨迹(为了推送轨迹时方便) - foreach (var group in orders.GroupBy(x => x.CustomId)) + foreach (var group in orders.GroupBy(x => x.Customer)) { var @event = new TrackUpsertEvent { AppKey = input.AppKey, - CustomId = group.Key, + Customer = group.Key, OrderIdentifiers = group.Select(o => new OrderIdentifier { OrderId = o.Id, diff --git a/src/TrackCenter.Application/Services/TimerTaskss/TrackButtomUpScanTask.cs b/src/TrackCenter.Application/Services/TimerTaskss/TrackButtomUpScanTask.cs index 464e6dc7..03c63277 100644 --- a/src/TrackCenter.Application/Services/TimerTaskss/TrackButtomUpScanTask.cs +++ b/src/TrackCenter.Application/Services/TimerTaskss/TrackButtomUpScanTask.cs @@ -6,7 +6,6 @@ using TrackCenter.Application.Dtos.TrackPull; using TrackCenter.Application.Helpers; using TrackCenter.Application.Options; using TrackCenter.Domain.Aggregates.OrderAggregate; -using TrackCenter.Domain.Enums; namespace TrackCenter.Application.Services.TimerTaskss; diff --git a/src/TrackCenter.Application/Services/TrackContents/TrackContentService.cs b/src/TrackCenter.Application/Services/TrackContents/TrackContentService.cs index 0d1dae5a..8b2d4a33 100644 --- a/src/TrackCenter.Application/Services/TrackContents/TrackContentService.cs +++ b/src/TrackCenter.Application/Services/TrackContents/TrackContentService.cs @@ -11,8 +11,6 @@ using TrackCenter.Domain.Aggregates.TrackDetailsAggregate; using TrackCenter.Domain.Aggregates.TrackFlagAggregate; using TrackCenter.Domain.Aggregates.TrackStatusAggregate; using TrackCenter.Domain.Dtos.TrackContents; -using TrackCenter.Domain.Enums; -using TrackCenter.Repository; namespace TrackCenter.Application.Services.TrackContents; @@ -96,7 +94,7 @@ public class TrackContentService : ApplicationServiceBase /// /// [HttpGet("GetDetail")] - public async Task GetDetailAsync(int id) + public async Task GetDetailAsync(int id) { var detailInfo = await _trackContentRepository.GetDetailAsync(id); if (detailInfo == null) return null; @@ -288,7 +286,7 @@ public class TrackContentService : ApplicationServiceBase //进行推送时,匹配订单类型一致的轨迹 if (input.TrackOptionType == TrackOptionType.推送) { - var pushConfigs = await _trackPushCacheService.GetPushContentConfigsAsync(order.AppKey, order.CustomId); + var pushConfigs = await _trackPushCacheService.GetPushContentConfigsAsync(order.AppKey, order.Customer); //没有推送配置也不会展示任何下拉 if (pushConfigs == null || pushConfigs.Count == 0) return res; //选订单类型和配置订单类型一致的配置的轨迹代码 diff --git a/src/TrackCenter.Application/Services/TrackOrders/TrackOrderService.cs b/src/TrackCenter.Application/Services/TrackOrders/TrackOrderService.cs index 55727c65..d6a6c23f 100644 --- a/src/TrackCenter.Application/Services/TrackOrders/TrackOrderService.cs +++ b/src/TrackCenter.Application/Services/TrackOrders/TrackOrderService.cs @@ -61,16 +61,6 @@ public class TrackOrderService : ApplicationServiceBase #endregion - /// - /// 获取订单类型字典 - /// - /// - [HttpGet("GetOrderTypeDict")] - public async Task> GetOrderTypeDict() - { - return await _orderRepository.GetTrackOrderTypeDictAsync(); - } - /// /// 更新订单状态 /// diff --git a/src/TrackCenter.Application/Services/TrackPush/TrackPushCacheService.cs b/src/TrackCenter.Application/Services/TrackPush/TrackPushCacheService.cs index cc5ab958..3d6ef021 100644 --- a/src/TrackCenter.Application/Services/TrackPush/TrackPushCacheService.cs +++ b/src/TrackCenter.Application/Services/TrackPush/TrackPushCacheService.cs @@ -1,12 +1,9 @@ -using SJZY.Expand.ABP.Core; using TrackCenter.Application.Dtos.TrackPush; -using TrackCenter.Application.Services; using TrackCenter.Domain.Aggregates.TrackPushAggregate; -using Volo.Abp.DependencyInjection; namespace TrackCenter.Application.Services.TrackPush; -public class TrackPushCacheService : ITrackPushCacheService, ITransientDependency +public class TrackPushCacheService : ITransientDependency { private readonly ITrackPushConfigRepository _trackPushConfigRepository; @@ -15,37 +12,37 @@ public class TrackPushCacheService : ITrackPushCacheService, ITransientDependenc _trackPushConfigRepository = trackPushConfigRepository; } - public async Task?> GetPushContentConfigsAsync(string AppKey, int customId) + public async Task?> GetPushContentConfigsAsync(string appKey, string customer) { - var exists = await RedisHelper.Client.ExistsAsync(TrackPushContentKey(AppKey, customId)); + var exists = await RedisHelper.Client.ExistsAsync(TrackPushContentKey(appKey, customer)); if (exists) { return await RedisHelper.Client.GetAsync>( - TrackPushContentKey(AppKey, customId)); + TrackPushContentKey(appKey, customer)); } - return await SetPushContentConfigsAsync(AppKey, customId); + return await SetPushContentConfigsAsync(appKey, customer); } - public async Task?> SetPushContentConfigsAsync(string appKey, int customId) + public async Task?> SetPushContentConfigsAsync(string appKey, string customer) { // maybe is null - var data = await DoGetPushContentConfigsAsync(appKey, customId); + var data = await DoGetPushContentConfigsAsync(appKey, customer); var ttl = 3 * 24 * 60 * 60; if (data == null) ttl = 5; // ttl 3days - await RedisHelper.Client.SetAsync(TrackPushContentKey(appKey, customId), + await RedisHelper.Client.SetAsync(TrackPushContentKey(appKey, customer), data, ttl); return data; } - private static string TrackPushContentKey(string appKey, int customId) => - $"{GlobalConst.TrackPushContentKeyPrefix}:{appKey}:{customId}"; + private static string TrackPushContentKey(string appKey, string customer) => + $"{GlobalConst.TrackPushContentKeyPrefix}:{appKey}:{customer}"; - private async Task?> DoGetPushContentConfigsAsync(string appKey, int customId) + private async Task?> DoGetPushContentConfigsAsync(string appKey, string customer) { var trackPushConfig = await _trackPushConfigRepository.GetFirstAsync( - x => x.AppKey == AppKey && x.CustomId == customId, + x => x.AppKey == appKey && x.Customer == customer, x => new { x.Id, @@ -55,7 +52,7 @@ public class TrackPushCacheService : ITrackPushCacheService, ITransientDependenc x.IsCanDelete, x.IsCanUpdate, AppKey = x.AppKey, - x.CustomId, + x.Customer, x.DateTimeFormatType, x.DateTimeFormat, x.TimezoneFormat diff --git a/src/TrackCenter.Application/Services/TrackPush/TrackPushService.cs b/src/TrackCenter.Application/Services/TrackPush/TrackPushService.cs index 47ff66f8..2f0ebacf 100644 --- a/src/TrackCenter.Application/Services/TrackPush/TrackPushService.cs +++ b/src/TrackCenter.Application/Services/TrackPush/TrackPushService.cs @@ -1,18 +1,11 @@ using System.Linq.Expressions; -using Microsoft.Extensions.Localization; -using SJZY.Expand.ABP.Core.Localization; -using SJZY.Expand.ABP.Core.Logger; -using SJZY.Expand.ABP.Core.PublicMethords; +using Fake.Application.Dtos; +using InterfaceForward.Domain.Shared.Helpers; using TrackCenter.Application.Dtos.TrackPush; -using TrackCenter.Application.Services; using TrackCenter.Application.Helpers; -using TrackCenter.Application.Localization; using TrackCenter.Application.Services.Warning.Handlers; -using TrackCenter.Domain.Aggregates.OrderAggregate; using TrackCenter.Domain.Aggregates.TrackPushAggregate; using TrackCenter.Domain.Dtos.TrackPush; -using TrackCenter.Domain.Enums; -using Volo.Abp.DependencyInjection; namespace TrackCenter.Application.Services.TrackPush; @@ -23,22 +16,17 @@ namespace TrackCenter.Application.Services.TrackPush; [Route("/Track/PushConfig")] public class TrackPushService : ApplicationServiceBase, ISingletonDependency { - private readonly IStringLocalizer _stringLocalizer; - private readonly ITrackPushCacheService _trackPushCacheService; + private readonly TrackPushCacheService _trackPushCacheService; private readonly ITrackPushConfigRepository _trackPushConfigRepository; - private readonly IOrderRepository _orderRepository; private readonly IServiceProvider _serviceProvider; public TrackPushService( - IStringLocalizer stringLocalizer, ITrackPushConfigRepository trackPushConfigRepository, - ITrackPushCacheService trackPushCacheService, - IOrderRepository orderRepository, IServiceProvider serviceProvider) + TrackPushCacheService trackPushCacheService, + IServiceProvider serviceProvider) { - _stringLocalizer = stringLocalizer; _trackPushConfigRepository = trackPushConfigRepository; _trackPushCacheService = trackPushCacheService; - _orderRepository = orderRepository; _serviceProvider = serviceProvider; } @@ -53,26 +41,6 @@ public class TrackPushService : ApplicationServiceBase, ISingletonDependency return await _trackPushConfigRepository.GetPageAsync(input); } - /// - /// 获取推送配置类型标签卡列表 - /// - /// - [HttpPost("GetConfigTags")] - public async Task> GetConfigTags([FromBody] GetConfigTagsInputVO inputVo) - { - var orderTypes = await _trackPushConfigRepository.GetConfigTags(inputVo); - if (orderTypes.Count == 0) return new List(); - var trackOrderTypes = await _orderRepository.GetTrackOrderTypeDictAsync(); - - return orderTypes.Select(x => new TrackPushConfigTagDto - { - Type = x, - Name = trackOrderTypes[x.ToString()] - }) - .OrderBy(x => x.Type) - .ToList(); - } - /// /// 轨迹推送配置内容列表 /// @@ -117,12 +85,11 @@ public class TrackPushService : ApplicationServiceBase, ISingletonDependency { if (input.Options != OptionTypeNoNull.删除) { - Expression> isAnyExp = x => - x.AppKey == input.AppKey && x.CustomId == input.CustomId; + Expression> isAnyExp = x => x.Customer == input.Customer; if (input.Options == OptionTypeNoNull.修改) isAnyExp = isAnyExp.And(x => x.Id != input.Id); if (await _trackPushConfigRepository.IsAnyAsync(isAnyExp)) - throw new BusinessException(message: _stringLocalizer["IsTrackPushConfigAny"]); + throw new BusinessException(message: "配置已存在"); } var msg = string.Empty; @@ -133,7 +100,7 @@ public class TrackPushService : ApplicationServiceBase, ISingletonDependency msg = message; } - using var ts = TransacationHelper.Create(); + using var ts = TransacationHelper.GetReadCommitted(); switch (input.Options) { @@ -142,7 +109,7 @@ public class TrackPushService : ApplicationServiceBase, ISingletonDependency await _trackPushConfigRepository.InsertReturnIdentityAsync(trackPushEntity); await _trackPushCacheService.SetPushContentConfigsAsync(trackPushEntity.AppKey, - trackPushEntity.CustomId); + trackPushEntity.Customer); break; case OptionTypeNoNull.修改: @@ -152,7 +119,7 @@ public class TrackPushService : ApplicationServiceBase, ISingletonDependency ObjectMapper.Map(input, oldTrackPushEntity); await _trackPushConfigRepository.UpdateAsync(oldTrackPushEntity); await _trackPushCacheService.SetPushContentConfigsAsync(oldTrackPushEntity.AppKey, - oldTrackPushEntity.CustomId); + oldTrackPushEntity.Customer); break; case OptionTypeNoNull.删除: @@ -161,30 +128,17 @@ public class TrackPushService : ApplicationServiceBase, ISingletonDependency await _trackPushConfigRepository.SoftDeleteAsync(x => x.Id == input.Id); await _trackPushConfigRepository.SoftDeleteContentAsync(x => x.TrackPushConfigId == input.Id); - await _trackPushCacheService.SetPushContentConfigsAsync(entity.AppKey, entity.CustomId); + await _trackPushCacheService.SetPushContentConfigsAsync(entity.AppKey, entity.Customer); break; default: - throw new BusinessException(message: _stringLocalizer[SjzyBasicLocalization.Validation_IsInEnum, - nameof(EditTrackPushConfigInput.Options)]); + throw new ArgumentOutOfRangeException(); } ts.Complete(); return msg; } - - /// - /// 获取服务商code根据客户id - /// - /// - /// - [HttpGet("GetServiceCodeByCustomerId")] - public async Task GetServiceCodeByCustomerId(int customerId) - { - return await _trackPushConfigRepository.GetServiceCodeByCustomerIdAsync(customerId); - } - /// /// 轨迹推送配置内容编辑 /// @@ -202,28 +156,28 @@ public class TrackPushService : ApplicationServiceBase, ISingletonDependency if (await _trackPushConfigRepository.IsContentAnyAsync(isContentAnyExp.And(x => x.TrackContentId == input.TrackContentId))) - throw new BusinessException(message: _stringLocalizer["IsTrackPushContentAny"]); + throw new BusinessException(message: "TrackContentId配置已存在"); if (!input.TrackContentCodeValue.IsNullOrWhiteSpace() && await _trackPushConfigRepository.IsContentAnyAsync(isContentAnyExp.And(x => x.TrackContentCodeValue == input.TrackContentCodeValue))) - throw new BusinessException(message: _stringLocalizer["IsTrackPushContentCodeValueAny"]); + throw new BusinessException(message: "TrackContentCodeValue配置已存在"); if (!input.TrackStatusValue.IsNullOrWhiteSpace() && await _trackPushConfigRepository.IsContentAnyAsync(isContentAnyExp.And(x => x.TrackStatusValue == input.TrackStatusValue))) - throw new BusinessException(message: _stringLocalizer["IsTrackPushContentStatusValueAny"]); + throw new BusinessException(message: "TrackStatusValue配置已存在"); if (!input.TrackContentValue.IsNullOrWhiteSpace() && await _trackPushConfigRepository.IsContentAnyAsync(isContentAnyExp.And(x => x.TrackContentValue == input.TrackContentValue))) - throw new BusinessException(message: _stringLocalizer["IsTrackPushContentValueAny"]); + throw new BusinessException(message: "TrackContentValue配置已存在"); if (!input.TrackEnContentValue.IsNullOrWhiteSpace() && await _trackPushConfigRepository.IsContentAnyAsync(isContentAnyExp.And(x => x.TrackEnContentValue == input.TrackEnContentValue))) - throw new BusinessException(message: _stringLocalizer["IsTrackPushEnContentValueAny"]); + throw new BusinessException(message: "TrackEnContentValue配置已存在"); } var trackPushConfigId = input.TrackPushConfigId; - using var ts = TransacationHelper.Create(); + using var ts = TransacationHelper.GetReadCommitted(); TrackPushContentConfigEntity? oldContentConfig = null; TrackPushContentConfigEntity? postContentConfig = null; @@ -269,14 +223,13 @@ public class TrackPushService : ApplicationServiceBase, ISingletonDependency } default: - throw new BusinessException(message: _stringLocalizer[SjzyBasicLocalization.Validation_IsInEnum, - nameof(EditTrackPushContentInput.Options)]); + throw new ArgumentOutOfRangeException(); } var pushConfig = await _trackPushConfigRepository.GetFirstAsync(x => x.Id == trackPushConfigId); if (pushConfig != null) { - await _trackPushCacheService.SetPushContentConfigsAsync(pushConfig.AppKey, pushConfig.CustomId); + await _trackPushCacheService.SetPushContentConfigsAsync(pushConfig.AppKey, pushConfig.Customer); } ts.Complete(); @@ -303,7 +256,7 @@ public class TrackPushService : ApplicationServiceBase, ISingletonDependency if (trackPushContentEntities.Count > 0) { - using var ts = TransacationHelper.Create(); + using var ts = TransacationHelper.GetReadCommitted(); await _trackPushConfigRepository.UpdateContentRangeAsync(trackPushContentEntities); @@ -311,12 +264,12 @@ public class TrackPushService : ApplicationServiceBase, ISingletonDependency x => x.Id == trackPushContentEntities[0].TrackPushConfigId, y => new { - AppKey = y.AppKey, - y.CustomId + y.AppKey, + y.Customer }); if (pushConfig != null) { - await _trackPushCacheService.SetPushContentConfigsAsync(pushConfig.AppKey, pushConfig.CustomId); + await _trackPushCacheService.SetPushContentConfigsAsync(pushConfig.AppKey, pushConfig.Customer); } ts.Complete(); diff --git a/src/TrackCenter.Application/Services/TrackStatus/TrackStatusService.cs b/src/TrackCenter.Application/Services/TrackStatus/TrackStatusService.cs index 8b370919..b492a56f 100644 --- a/src/TrackCenter.Application/Services/TrackStatus/TrackStatusService.cs +++ b/src/TrackCenter.Application/Services/TrackStatus/TrackStatusService.cs @@ -1,3 +1,4 @@ +using Fake.Application.Dtos; using TrackCenter.Application.Dtos.TrackStatus; using TrackCenter.Domain.Aggregates.TrackContentAggregate; using TrackCenter.Domain.Aggregates.TrackStatusAggregate; @@ -29,15 +30,24 @@ public class TrackStatusService : ApplicationServiceBase /// /// [HttpPost("Edit")] - public async Task EditAsync(EditTrackStatusInput input) + public async Task EditAsync(EditTrackStatusInput input) { - return input.Options switch + switch (input.Options) { - OptionType.新增 => await AddAsync(input), - OptionType.修改 => await UpdateAsync(input), - OptionType.删除 => await DeleteAsync(input), - _ => throw new BusinessException(message: "当前操作动作不合法") - }; + case OptionType.无: + break; + case OptionType.新增: + await AddAsync(input); + break; + case OptionType.删除: + await DeleteAsync(input); + break; + case OptionType.修改: + await UpdateAsync(input); + break; + default: + throw new ArgumentOutOfRangeException(); + } } /// @@ -46,16 +56,13 @@ public class TrackStatusService : ApplicationServiceBase /// /// [HttpGet("GetDetail")] - public async Task> GetDetailAsync(int id) + public async Task GetDetailAsync(int id) { var detailInfo = await _trackStatusRepository.GetDetailAsync(id); - if (detailInfo == null) - { - return new UnifyResultDto(false, null, "未查询到轨迹状态"); - } + if (detailInfo == null) return null; var dto = ObjectMapper.Map(detailInfo); - return new UnifyResultDto(GlobalConst.SuccessCode, "", dto); + return dto; } /// @@ -77,7 +84,7 @@ public class TrackStatusService : ApplicationServiceBase #region 私有方法 - private async Task AddAsync(EditTrackStatusInput input) + private async Task AddAsync(EditTrackStatusInput input) { #region 业务校验 @@ -109,11 +116,9 @@ public class TrackStatusService : ApplicationServiceBase var entity = ObjectMapper.Map(input); var isTrue = await _trackStatusRepository.InsertAsync(entity); - - return new UnifyResultDto(GlobalConst.SuccessCode, "新增成功", isTrue); } - private async Task UpdateAsync(EditTrackStatusInput input) + private async Task UpdateAsync(EditTrackStatusInput input) { #region 业务校验 @@ -151,11 +156,9 @@ public class TrackStatusService : ApplicationServiceBase ObjectMapper.Map(input, trackStatus); var isTrue = await _trackStatusRepository.UpdateAsync(trackStatus); - - return new UnifyResultDto(GlobalConst.SuccessCode, "修改成功", isTrue); } - private async Task DeleteAsync(EditTrackStatusInput input) + private async Task DeleteAsync(EditTrackStatusInput input) { #region 业务校验 @@ -169,8 +172,6 @@ public class TrackStatusService : ApplicationServiceBase #endregion var isTrue = await _trackStatusRepository.SoftDeleteAsync(x => x.Id == input.Id); - - return new UnifyResultDto(GlobalConst.SuccessCode, "删除成功", isTrue); } #endregion diff --git a/src/TrackCenter.Application/Services/Warning/CompleteWarningService.cs b/src/TrackCenter.Application/Services/Warning/CompleteWarningService.cs index 1d456d2a..9590aa48 100644 --- a/src/TrackCenter.Application/Services/Warning/CompleteWarningService.cs +++ b/src/TrackCenter.Application/Services/Warning/CompleteWarningService.cs @@ -1,6 +1,5 @@ using Fake.Application.Dtos; using InterfaceForward.Domain.Shared.Helpers; -using SJZY.Expand.ABP.Core.PublicMethords; using TrackCenter.Application.Dtos.Warning; using TrackCenter.Application.Dtos.Warning.Complete; using TrackCenter.Application.Dtos.Warning.Return; @@ -13,7 +12,6 @@ using TrackCenter.Domain.Aggregates.TrackDetailsAggregate; using TrackCenter.Domain.Aggregates.WarningAggregate; using TrackCenter.Domain.Aggregates.WarningAggregate.Complete; using TrackCenter.Domain.Dtos.Warning; -using TrackCenter.Domain.Enums; namespace TrackCenter.Application.Services.Warning; @@ -30,7 +28,6 @@ public class CompleteWarningService : ApplicationServiceBase private readonly ITrackDetailsEsRepository _trackDetailsEsRepository; private readonly ICompleteWarningHandler _completeWarningHandler; private readonly TrackStatusNameDictCache _trackStatusNameDictCache; - private readonly CustomAbbreviationDictCache _customAbbreviationDictCache; public CompleteWarningService( IOrderRepository orderRepository, @@ -38,8 +35,7 @@ public class CompleteWarningService : ApplicationServiceBase IWarningDetailsEsRepository warningDetailsEsRepository, ITrackDetailsEsRepository trackDetailsEsRepository, ICompleteWarningHandler completeWarningHandler, - TrackStatusNameDictCache trackStatusNameDictCache, - CustomAbbreviationDictCache customAbbreviationDictCache, + TrackStatusNameDictCache trackStatusNameDictCache ) { _orderRepository = orderRepository; @@ -48,7 +44,6 @@ public class CompleteWarningService : ApplicationServiceBase _trackDetailsEsRepository = trackDetailsEsRepository; _completeWarningHandler = completeWarningHandler; _trackStatusNameDictCache = trackStatusNameDictCache; - _customAbbreviationDictCache = customAbbreviationDictCache; } @@ -79,8 +74,6 @@ public class CompleteWarningService : ApplicationServiceBase // 查轨迹状态名称字典 var trackStatusDict = await _trackStatusNameDictCache.SafeGetBatchAsync(trackStatusIds); - // 查订单类型字典 - var orderTypeDict = await _orderRepository.GetTrackOrderTypeDictAsync(); var map = result.Select(x => new CompleteWarningRuleItemDto { @@ -114,7 +107,7 @@ public class CompleteWarningService : ApplicationServiceBase .Select(x => new OrderTypeDto { OrderType = x, - OrderTypeName = orderTypeDict.GetValueOrDefault(x.ToString(), GlobalConst.EmptyString) + OrderTypeName = x.GetDescription() }).ToList(); } } @@ -130,32 +123,21 @@ public class CompleteWarningService : ApplicationServiceBase var vo = ObjectMapper.Map(input); var result = await _warningDetailsEsRepository.GetPageCompleteWarningDetailsAsync(vo); if (result.Items.Count == 0) - { - return new PagedResult(new List(), - result.Pagination.PageIndex, - result.Pagination.PageSize, - result.Pagination.Total); - } + return new PagedResult(0, new List()); - - // 订单类型名称字典 - var orderTypeDict = await _orderRepository.GetTrackOrderTypeDictAsync(); - - var trackStatusIds = result.List + var trackStatusIds = result.Items .SelectMany(x => x.GetMissingTrackStatusIdGroups().SelectMany(y => y)) .ToHashSet(); // 轨迹状态名称字典 var trackStatusDict = await _trackStatusNameDictCache.SafeGetBatchAsync(trackStatusIds); // 客户id简称字典 - var customIds = result.List.Select(x => x.CustomId).ToHashSet(); - var customDict = await _customAbbreviationDictCache.SafeGetBatchAsync(customIds); // 查最新轨迹(创建时间) - var orderIds = result.List.Select(x => x.OrderId).ToHashSet(); + var orderIds = result.Items.Select(x => x.OrderId).ToHashSet(); var orderIdTrackDict = await _trackDetailsEsRepository.GetLatestDictAsync(orderIds); - var map = result.List.Select(x => + var map = result.Items.Select(x => { var orderIdTrack = orderIdTrackDict.GetValueOrDefault(x.OrderId); return new CompleteWarningDetailsDto @@ -163,12 +145,11 @@ public class CompleteWarningService : ApplicationServiceBase EsId = x.Id, AppKey = x.AppKey, OrderType = x.OrderType, - OrderTypeName = orderTypeDict.GetValueOrDefault(x.OrderType.ToString(), GlobalConst.EmptyString), + OrderTypeName = x.OrderType.GetDescription(), OrderId = x.OrderId, OrderNo = x.OrderNo, Status = x.Status, - CustomId = x.CustomId, - CustomName = customDict.GetValueOrDefault(x.CustomId, GlobalConst.EmptyString), + Customer = x.Customer, MissingTrackStatus = BuildMissingTrackStatus(x), LatestTrackStatus = orderIdTrack?.TrackStatus, LatestTrackContent = orderIdTrack?.TrackContent, @@ -187,18 +168,14 @@ public class CompleteWarningService : ApplicationServiceBase .OrderBy(x => x.Status == (int) CompleteWarningStatus.待处理 ? 1 : 2) .ThenByDescending(x => x.CreateTime); //同状态组按时间降序; - return new PagedResult( - sorted.ToList(), - result.Pagination.PageIndex, - result.Pagination.PageSize, - result.Pagination.Total); + return new PagedResult(result.TotalCount, sorted.ToList()); // 通知用户提取用户名称 string ToUserNames(string notifyUsers) { if (string.IsNullOrWhiteSpace(notifyUsers)) return string.Empty; - return string.Join(',', notifyUsers.ToObject>().Select(x => x.UserName)); + return string.Join(',', notifyUsers.ToObject>()!.Select(x => x.UserName)); } // 构建缺失轨迹状态 @@ -234,7 +211,7 @@ public class CompleteWarningService : ApplicationServiceBase // 同一个主体下同一个检查点,订单类型不允许出现交集 foreach (var group in bos.GroupBy(x => x.CheckPointTrackStatusId)) { - var allOrderTypes = new HashSet(); + var allOrderTypes = new HashSet(); var count = 0; foreach (var orderTypes in group.Select(x => x.OrderTypes)) { diff --git a/src/TrackCenter.Application/Services/Warning/Handlers/CompleteWarningHandler.cs b/src/TrackCenter.Application/Services/Warning/Handlers/CompleteWarningHandler.cs index a457a0b9..47fa9afa 100644 --- a/src/TrackCenter.Application/Services/Warning/Handlers/CompleteWarningHandler.cs +++ b/src/TrackCenter.Application/Services/Warning/Handlers/CompleteWarningHandler.cs @@ -6,7 +6,6 @@ using TrackCenter.Domain.Aggregates.WarningAggregate; using TrackCenter.Domain.Aggregates.WarningAggregate.Complete; using TrackCenter.Domain.Dtos.TrackDetails; using TrackCenter.Domain.Dtos.Warning; -using TrackCenter.Domain.Enums; namespace TrackCenter.Application.Services.Warning.Handlers; @@ -129,7 +128,7 @@ public sealed class CompleteWarningHandler : ICompleteWarningHandler, ITransient var orderTrackStatusEarliestDictDict = await _trackDetailsEsRepository.GetTrackStatusEarliestDictAsync(orderIds); // 3.查规则主体 - var conditionDict = orders.GroupBy(x => (x.AppKey, x.CustomId)).ToDictionary(x => x.Key, y => y.ToList()); + var conditionDict = orders.GroupBy(x => (x.AppKey, x.Customer)).ToDictionary(x => x.Key, y => y.ToList()); var conditions = conditionDict.Keys.ToHashSet(); var ruleDict = await _warningRuleRepository.GetWarningRuleForEnabledAsync(conditions, WarningRuleType.完整预警); if (ruleDict.Count == 0) return; @@ -147,7 +146,7 @@ public sealed class CompleteWarningHandler : ICompleteWarningHandler, ITransient foreach (var group in ruleItems.GroupBy(x => x.WarningId)) { var rule = ruleDict[group.Key]; - var hitRuleOrders = conditionDict[(rule.AppKey, rule.CustomId)]; //tips:一定存在 + var hitRuleOrders = conditionDict[(rule.AppKey, rule.Customer)]; //tips:一定存在 foreach (var order in hitRuleOrders) { var trackStatusIdTrackDict = orderTrackStatusEarliestDictDict.GetValueOrDefault(order.Id); @@ -279,7 +278,7 @@ public sealed class CompleteWarningHandler : ICompleteWarningHandler, ITransient MissingTrackStatusIds = ruleItem.BuildMissingTrackStatusIdExpression(trackStatusIds), AppKey = order.AppKey, - CustomId = order.CustomId, + Customer = order.Customer, OrderId = order.Id, OrderNo = order.OrderNo, OrderType = order.OrderType, diff --git a/src/TrackCenter.Application/Services/Warning/Handlers/OrderWarningHandler.cs b/src/TrackCenter.Application/Services/Warning/Handlers/OrderWarningHandler.cs index b1f768f0..af620ed6 100644 --- a/src/TrackCenter.Application/Services/Warning/Handlers/OrderWarningHandler.cs +++ b/src/TrackCenter.Application/Services/Warning/Handlers/OrderWarningHandler.cs @@ -1,7 +1,6 @@ using TrackCenter.Domain.Aggregates.OrderAggregate; using TrackCenter.Domain.Aggregates.WarningAggregate; using TrackCenter.Domain.Dtos.Warning; -using TrackCenter.Domain.Enums; namespace TrackCenter.Application.Services.Warning.Handlers; diff --git a/src/TrackCenter.Application/Services/Warning/Handlers/ReturnWarningHandler.cs b/src/TrackCenter.Application/Services/Warning/Handlers/ReturnWarningHandler.cs index d1976413..d3e0c21b 100644 --- a/src/TrackCenter.Application/Services/Warning/Handlers/ReturnWarningHandler.cs +++ b/src/TrackCenter.Application/Services/Warning/Handlers/ReturnWarningHandler.cs @@ -9,7 +9,6 @@ using TrackCenter.Domain.Aggregates.TrackPushAggregate; using TrackCenter.Domain.Aggregates.WarningAggregate; using TrackCenter.Domain.Aggregates.WarningAggregate.Return; using TrackCenter.Domain.Dtos.Warning; -using TrackCenter.Domain.Enums; namespace TrackCenter.Application.Services.Warning.Handlers; @@ -95,7 +94,7 @@ public sealed class ReturnWarningHandler : IReturnWarningHandler, ITransientDepe // 2.匹配规则项目,每个订单至多有一个 // 已知每次推送只能是推同一个应用,同一个客户的订单,查找规则主体时选任意一个单即可,并且这次推送的轨迹内容是相同的所以状态也是相同的 ReturnWarningRuleItemEntity? ruleItem = null; //todo:历史推送可能对应多个配置,但只关注这一次的推送 - var rule = await _warningRuleRepository.GetWarningRuleForEnabledAsync(orderFirst.AppKey, orderFirst.CustomId, WarningRuleType.回传时效预警); + var rule = await _warningRuleRepository.GetWarningRuleForEnabledAsync(orderFirst.AppKey, orderFirst.Customer, WarningRuleType.回传时效预警); if (rule != null) { var ruleItemEntities = await _warningRuleRepository.GetReturnRuleItemsAsync(rule.Id); @@ -105,7 +104,7 @@ public sealed class ReturnWarningHandler : IReturnWarningHandler, ITransientDepe // 3.查询订单+轨迹 关联的推送映射配置(tips:一定存在,如果不存在则推送都进行不了) // 已知可以推送出去的轨迹都是符合推送顺序的,todo:历史轨迹的推送对应多个配置,但只关注这一次的推送的配置 - var pushConfigs = await _trackPushCacheService.GetPushContentConfigsAsync(orderFirst.AppKey, orderFirst.CustomId); + var pushConfigs = await _trackPushCacheService.GetPushContentConfigsAsync(orderFirst.AppKey, orderFirst.Customer); var pushContentConfig = pushConfigs?.FirstOrDefault(x => x.TrackContentId == recordFirst.TrackContentId); if (pushContentConfig == null) return; @@ -318,7 +317,7 @@ public sealed class ReturnWarningHandler : IReturnWarningHandler, ITransientDepe // 订单信息 AppKey = order.AppKey, - CustomId = order.CustomId, + Customer = order.Customer, OrderId = order.Id, OrderNo = order.OrderNo, OrderType = order.OrderType, diff --git a/src/TrackCenter.Application/Services/Warning/Handlers/TransportWarningHandler.cs b/src/TrackCenter.Application/Services/Warning/Handlers/TransportWarningHandler.cs index cfe9c7b4..90bef12c 100644 --- a/src/TrackCenter.Application/Services/Warning/Handlers/TransportWarningHandler.cs +++ b/src/TrackCenter.Application/Services/Warning/Handlers/TransportWarningHandler.cs @@ -8,7 +8,6 @@ using TrackCenter.Domain.Aggregates.WarningAggregate.Transport; using TrackCenter.Domain.Dtos.Forewarning; using TrackCenter.Domain.Dtos.TrackDetails; using TrackCenter.Domain.Dtos.Warning; -using TrackCenter.Domain.Enums; using SqlSugar; using TrackCenter.Application.Services.Warning.Model; using TrackCenter.Application.Services.Warning.Signals; @@ -225,7 +224,7 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen if (orders.Count == 0) return; // 3.查规则主体 - var conditions = orders.Select(x => (AppKey: x.AppKey, x.CustomId)).ToHashSet(); + var conditions = orders.Select(x => (AppKey: x.AppKey, x.Customer)).ToHashSet(); var ruleDict = await _warningRuleRepository.GetWarningRuleForEnabledAsync(conditions, WarningRuleType.运输时效预警); if (ruleDict.Count == 0) return; @@ -1242,7 +1241,7 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen //订单信息 AppKey = order.AppKey, - CustomId = order.CustomId, + Customer = order.Customer, OrderId = order.Id, OrderNo = order.OrderNo, OrderType = order.OrderType, diff --git a/src/TrackCenter.Application/Services/Warning/Model/CompleteWarningRuleItemBO.cs b/src/TrackCenter.Application/Services/Warning/Model/CompleteWarningRuleItemBO.cs index bdba1270..3c5541ae 100644 --- a/src/TrackCenter.Application/Services/Warning/Model/CompleteWarningRuleItemBO.cs +++ b/src/TrackCenter.Application/Services/Warning/Model/CompleteWarningRuleItemBO.cs @@ -19,7 +19,7 @@ public sealed class CompleteWarningRuleItemBO /// /// 订单类型集合(,分割) e.g. 1,2,3 /// - public HashSet OrderTypes { get; set; } + public HashSet OrderTypes { get; set; } /// /// 检查点轨迹状态id @@ -43,7 +43,7 @@ public sealed class CompleteWarningRuleItemBO { Id = x.Id, WarningId = input.WarningId, - OrderTypes = x.OrderTypes.Split(",").Select(int.Parse).ToHashSet(), + OrderTypes = x.OrderTypes.Split(",").Select(Enum.Parse).ToHashSet(), CheckPointTrackStatusId = x.CheckPointTrackStatusId, RequireTrackStatus = x.RequireTrackStatus.Select(y => y.ToHashSet()).ToList(), NotifyUsers = x.NotifyUsers diff --git a/src/TrackCenter.Application/Services/Warning/ReturnWarningService.cs b/src/TrackCenter.Application/Services/Warning/ReturnWarningService.cs index 4ea4b521..fefae8fc 100644 --- a/src/TrackCenter.Application/Services/Warning/ReturnWarningService.cs +++ b/src/TrackCenter.Application/Services/Warning/ReturnWarningService.cs @@ -7,7 +7,6 @@ using TrackCenter.Application.Events; using TrackCenter.Domain.Aggregates.OrderAggregate; using TrackCenter.Domain.Aggregates.WarningAggregate; using TrackCenter.Domain.Dtos.Warning; -using TrackCenter.Domain.Enums; using TrackCenter.Application.Caching; using TrackCenter.Application.Helpers; using TrackCenter.Application.Services.Warning.Handlers; @@ -106,11 +105,6 @@ public class ReturnWarningService : ApplicationServiceBase return new PagedResult(result.TotalCount, new List()); } - // 订单类型名称字典 - var orderTypeDict = await _orderRepository.GetTrackOrderTypeDictAsync(); - // 客户id简称字典 - var customIds = result.Items.Select(x => x.CustomId).ToHashSet(); - var customDict = await _customAbbreviationDictCache.SafeGetBatchAsync(customIds); // 应用中文名字典 var appKeys = result.Items.Select(x => x.AppKey).ToHashSet(); var appDict = await _appNameDictCache.SafeGetBatchAsync(appKeys); @@ -121,12 +115,11 @@ public class ReturnWarningService : ApplicationServiceBase AppKey = x.AppKey, AppName = appDict.GetValueOrDefault(x.AppKey, GlobalConst.EmptyString), OrderType = x.OrderType, - OrderTypeName = orderTypeDict.GetValueOrDefault(x.OrderType.ToString(), GlobalConst.EmptyString), + OrderTypeName = x.OrderType.GetDescription(), OrderId = x.OrderId, OrderNo = x.OrderNo, Status = x.Status, - CustomId = x.CustomId, - CustomName = customDict.GetValueOrDefault(x.CustomId, GlobalConst.EmptyString), + Customer = x.Customer, // 轨迹信息 TrackStatus = x.TrackStatus, TrackCode = x.TrackCode, @@ -262,7 +255,7 @@ public class ReturnWarningService : ApplicationServiceBase { OptionType = OptionType.新增, AppKey = detail.AppKey, - CustomId = detail.CustomId, + Customer = detail.Customer, OrderIdTrackMetadataDict = new Dictionary { [detail.OrderId] = TrackMetadata.Build(detail.Id, detail.TrackVersion, detail.CreateTime) diff --git a/src/TrackCenter.Application/Services/Warning/Signals/WarningSignal.cs b/src/TrackCenter.Application/Services/Warning/Signals/WarningSignal.cs index 90bb00b2..4860682e 100644 --- a/src/TrackCenter.Application/Services/Warning/Signals/WarningSignal.cs +++ b/src/TrackCenter.Application/Services/Warning/Signals/WarningSignal.cs @@ -17,7 +17,7 @@ public readonly struct WarningSignal public int TrackContentId { get; } // public string OrderNo { get; set; } - // public int OrderType { get; set; } + // public TrackOrderType OrderType { get; set; } // public string AppKey { get; set; } [System.Text.Json.Serialization.JsonConstructor] diff --git a/src/TrackCenter.Application/Services/Warning/TransportWarningService.cs b/src/TrackCenter.Application/Services/Warning/TransportWarningService.cs index 89f158e1..9e50875f 100644 --- a/src/TrackCenter.Application/Services/Warning/TransportWarningService.cs +++ b/src/TrackCenter.Application/Services/Warning/TransportWarningService.cs @@ -12,7 +12,6 @@ using TrackCenter.Domain.Aggregates.TrackDetailsAggregate; using TrackCenter.Domain.Aggregates.WarningAggregate; using TrackCenter.Domain.Aggregates.WarningAggregate.Transport; using TrackCenter.Domain.Dtos.Warning; -using TrackCenter.Domain.Enums; namespace TrackCenter.Application.Services.Warning; @@ -157,7 +156,7 @@ public class TransportWarningService : ApplicationServiceBase EndTrackStatus = trackStatusDict.GetValueOrDefault(x.EndTrackStatusId, GlobalConst.EmptyString), TransportTimeSpan = x.TransportTimeSpan, StartTrackWarningTimeSpan = x.StartTrackWarningTimeSpan, - NotifyUsers = x.NotifyUsers.ToObject>() + NotifyUsers = x.NotifyUsers.ToObject>()! }); return map.ToList(); @@ -187,11 +186,6 @@ public class TransportWarningService : ApplicationServiceBase // 查轨迹状态最早轨迹 var orderIdTrackStatusEarliestTrackDict = await _trackDetailsEsRepository.GetTrackStatusEarliestDictAsync(orderIds); - // 订单类型名称字典 - var orderTypeDict = await _orderRepository.GetTrackOrderTypeDictAsync(); - // 客户id简称字典 - var customIds = result.Items.Select(x => x.CustomId).ToHashSet(); - var customDict = await _customAbbreviationDictCache.SafeGetBatchAsync(customIds); // 应用中文名字典 var appKeys = result.Items.Select(x => x.AppKey).ToHashSet(); var appDict = await _appNameDictCache.SafeGetBatchAsync(appKeys); @@ -207,12 +201,11 @@ public class TransportWarningService : ApplicationServiceBase EsId = x.Id, AppKey = x.AppKey, AppName = appDict.GetValueOrDefault(x.AppKey, GlobalConst.EmptyString), - CustomId = x.CustomId, - CustomName = customDict.GetValueOrDefault(x.CustomId, GlobalConst.EmptyString), + Customer = x.Customer, OrderId = x.OrderId, OrderNo = x.OrderNo, OrderType = x.OrderType, - OrderTypeName = orderTypeDict.GetValueOrDefault(x.OrderType.ToString(), GlobalConst.EmptyString), + OrderTypeName = x.OrderType.GetDescription(), NotifyUserNames = ToUserNames(x.NotifyUsers), // 最新轨迹 (不冗余)创建时间最新 diff --git a/src/TrackCenter.Application/Services/Warning/WarningService.cs b/src/TrackCenter.Application/Services/Warning/WarningService.cs index f017fbb0..6eceb864 100644 --- a/src/TrackCenter.Application/Services/Warning/WarningService.cs +++ b/src/TrackCenter.Application/Services/Warning/WarningService.cs @@ -2,7 +2,6 @@ using TrackCenter.Application.Dtos.Warning; using TrackCenter.Application.Caching; using TrackCenter.Application.Services.Warning.Handlers; using TrackCenter.Domain.Aggregates.WarningAggregate; -using TrackCenter.Domain.Enums; namespace TrackCenter.Application.Services.Warning; @@ -17,7 +16,6 @@ public class WarningService : ApplicationServiceBase private readonly ICompleteWarningHandler _completeWarningHandler; private readonly ITransportWarningHandler _transportWarningHandler; private readonly IReturnWarningHandler _returnWarningHandler; - private readonly CustomAbbreviationDictCache _customAbbreviationDictCache; private readonly AppNameDictCache _appNameDictCache; public WarningService( @@ -25,7 +23,6 @@ public class WarningService : ApplicationServiceBase ICompleteWarningHandler completeWarningHandler, ITransportWarningHandler transportWarningHandler, IReturnWarningHandler returnWarningHandler, - CustomAbbreviationDictCache customAbbreviationDictCache, AppNameDictCache appNameDictCache ) { @@ -33,7 +30,6 @@ public class WarningService : ApplicationServiceBase _completeWarningHandler = completeWarningHandler; _transportWarningHandler = transportWarningHandler; _returnWarningHandler = returnWarningHandler; - _customAbbreviationDictCache = customAbbreviationDictCache; _appNameDictCache = appNameDictCache; } @@ -45,13 +41,10 @@ public class WarningService : ApplicationServiceBase [HttpPost("GetWarningRule")] public async Task> GetWarningRule(GetWarningRuleInput input) { - var result = await _warningRuleRepository.GetWarningRuleListAsync(input.AppKey, input.CustomId, input.KpiName, input.IsEnabled, input.WarningType); + var result = await _warningRuleRepository.GetWarningRuleListAsync(input.AppKey, input.Customer, input.KpiName, input.IsEnabled, input.WarningType); if (result.Count == 0) return new List(); - // 客户id简称字典 - var customIds = result.Select(x => x.CustomId).ToHashSet(); - var customDict = await _customAbbreviationDictCache.SafeGetBatchAsync(customIds); // 应用中文名字典 var appKeys = result.Select(x => x.AppKey).ToHashSet(); var appDict = await _appNameDictCache.SafeGetBatchAsync(appKeys); @@ -61,8 +54,7 @@ public class WarningService : ApplicationServiceBase Id = x.Id, AppKey = x.AppKey, AppName = appDict.GetValueOrDefault(x.AppKey, GlobalConst.EmptyString), - CustomId = x.CustomId, - CustomName = customDict.GetValueOrDefault(x.CustomId, GlobalConst.EmptyString), + Customer = x.Customer, Name = x.Name, IsEnabled = x.IsEnabled, WarningType = x.WarningType, @@ -93,9 +85,9 @@ public class WarningService : ApplicationServiceBase } // 如果设置为启用则检查同一个应用同一客户下有多个启用的规则 - if (input.IsEnabled && await _warningRuleRepository.CheckEnableDuplicateAsync(rule.Id, rule.AppKey, rule.CustomId, (WarningRuleType) rule.WarningType)) + if (input.IsEnabled && await _warningRuleRepository.CheckEnableDuplicateAsync(rule.Id, rule.AppKey, rule.Customer, (WarningRuleType) rule.WarningType)) { - throw new BusinessException(message: $"同一【应用+客户+类型】下不能有多个启用的预警规则主体,AppKey=[{rule.AppKey},CustomId=[{rule.CustomId}]]"); + throw new BusinessException(message: $"同一【应用+客户+类型】下不能有多个启用的预警规则主体,AppKey=[{rule.AppKey},Customer=[{rule.Customer}]]"); } // 更新规则主体状态 @@ -128,15 +120,15 @@ public class WarningService : ApplicationServiceBase throw new BusinessException(message: $"WarningId=[{input.Id}],WarningType=[{input.WarningType}]预警规则主体不存在,不允许修改"); } - // 要求 AppKey+CustomId+Name+WarningType 联合不能重复 - if (await _warningRuleRepository.CheckNameDuplicateAsync(input.Id, input.AppKey, input.CustomId, input.Name, (WarningRuleType) input.WarningType)) + // 要求 AppKey+Customer+Name+WarningType 联合不能重复 + if (await _warningRuleRepository.CheckNameDuplicateAsync(input.Id, input.AppKey, input.Customer, input.Name, (WarningRuleType) input.WarningType)) { - throw new BusinessException(message: $"AppKey:[{input.AppKey}],CustomId:[{input.CustomId}]," + + throw new BusinessException(message: $"AppKey:[{input.AppKey}],Customer:[{input.Customer}]," + $"WarningType:[{input.WarningType.ToString()}]已存在名称为[{input.Name}]规则,不允许重复创建/修改"); } // 如果创建/修改的主体为启用状态,则要求通过检查 - if (input.IsEnabled && await _warningRuleRepository.CheckEnableDuplicateAsync(input.Id, input.AppKey, input.CustomId, (WarningRuleType) input.WarningType)) + if (input.IsEnabled && await _warningRuleRepository.CheckEnableDuplicateAsync(input.Id, input.AppKey, input.Customer, (WarningRuleType) input.WarningType)) { throw new BusinessException(message: $"同一【应用+客户+预警类型】下不能有多个启用的预警规则主体,不允许创建/修改"); } @@ -148,7 +140,7 @@ public class WarningService : ApplicationServiceBase input.Id, input.Name, input.AppKey, - input.CustomId, + input.Customer, input.IsEnabled, input.WarningType ); @@ -158,7 +150,7 @@ public class WarningService : ApplicationServiceBase enabledChanged = ruleEntity.IsEnabled != input.IsEnabled; ruleEntity.Name = input.Name; ruleEntity.AppKey = input.AppKey; - ruleEntity.CustomId = input.CustomId; + ruleEntity.Customer = input.Customer; ruleEntity.IsEnabled = input.IsEnabled; ruleEntity.WarningType = input.WarningType; } diff --git a/src/TrackCenter.Domain/Aggregates/OrderAggregate/IOrderRepository.cs b/src/TrackCenter.Domain/Aggregates/OrderAggregate/IOrderRepository.cs index a56541ae..718af3fb 100644 --- a/src/TrackCenter.Domain/Aggregates/OrderAggregate/IOrderRepository.cs +++ b/src/TrackCenter.Domain/Aggregates/OrderAggregate/IOrderRepository.cs @@ -5,13 +5,6 @@ namespace TrackCenter.Domain.Aggregates.OrderAggregate; public interface IOrderRepository : IBasicRepository { - /// - /// 获取订单类型字典 - /// key:OrderType value:TypeName - /// - /// - Task> GetTrackOrderTypeDictAsync(); - /// /// 获取分页的轨迹订单 /// @@ -24,8 +17,8 @@ public interface IOrderRepository : IBasicRepository /// /// 三方平台 /// 三方平台单号 - /// (主单id,主单号,客户id) - Task<(int MainOrderId, string OrderNo, int CustomId)> GetTrackOrderByProviderAndOrderNo(string serviceProviderCode, string orderNo); + /// (主单id,主单号,客户) + Task<(int MainOrderId, string OrderNo, string Customer)> GetTrackOrderByProviderAndOrderNo(string serviceProviderCode, string orderNo); /// /// 创建订单 @@ -92,7 +85,7 @@ public interface IOrderRepository : IBasicRepository /// /// /// - Task> GetLinkedOrdersAsync(int orderId, string linkAppKey, int linkOrderType); + Task> GetLinkedOrdersAsync(int orderId, string linkAppKey, TrackOrderType linkOrderType); /// @@ -103,7 +96,7 @@ public interface IOrderRepository : IBasicRepository /// /// /// - Task> GetLinkedOrdersAsync(int orderId, string linkAppKey, int linkOrderType, + Task> GetLinkedOrdersAsync(int orderId, string linkAppKey, TrackOrderType linkOrderType, List linkOrderNos); /// diff --git a/src/TrackCenter.Domain/Aggregates/OrderAggregate/OrderEntity.cs b/src/TrackCenter.Domain/Aggregates/OrderAggregate/OrderEntity.cs index 8867eb0f..53b059e3 100644 --- a/src/TrackCenter.Domain/Aggregates/OrderAggregate/OrderEntity.cs +++ b/src/TrackCenter.Domain/Aggregates/OrderAggregate/OrderEntity.cs @@ -25,7 +25,7 @@ public class OrderEntity : FullAuditedAggregateRoot /// 订单类型(主数据枚举TrackOrderType) /// [SugarColumn(ColumnName = "OrderType")] - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 应用 @@ -34,10 +34,10 @@ public class OrderEntity : FullAuditedAggregateRoot public string AppKey { get; set; } /// - /// 客户id(外部主体id) + /// 客户 /// - [SugarColumn(ColumnName = "CustomId")] - public int CustomId { get; set; } + [SugarColumn(ColumnName = "Customer")] + public string Customer { get; set; } /// /// 订单是否完结(异步维护) @@ -130,10 +130,10 @@ public class OrderEntity : FullAuditedAggregateRoot public string LeaveCountry { get; set; } = null!; /// - /// 问题类型(主数据枚举TrackQuestionType) + /// 问题类型 /// [SugarColumn(ColumnName = "QuestionType")] - public int QuestionType { get; set; } + public TrackProblemType QuestionType { get; set; } /// /// 起运港口 diff --git a/src/TrackCenter.Domain/Aggregates/TrackDetailsAggregate/ITrackDetailsEsRepository.cs b/src/TrackCenter.Domain/Aggregates/TrackDetailsAggregate/ITrackDetailsEsRepository.cs index 73f4d5d1..eed30393 100644 --- a/src/TrackCenter.Domain/Aggregates/TrackDetailsAggregate/ITrackDetailsEsRepository.cs +++ b/src/TrackCenter.Domain/Aggregates/TrackDetailsAggregate/ITrackDetailsEsRepository.cs @@ -1,5 +1,4 @@ using TrackCenter.Domain.Dtos.TrackDetails; -using TrackCenter.Domain.Enums; using TrackCenter.Domain.SeedWork; namespace TrackCenter.Domain.Aggregates.TrackDetailsAggregate; @@ -19,7 +18,7 @@ public interface ITrackDetailsEsRepository : IElasticsearchClientService> GetLatestListAsync(int[] eventOrderIds, List trackCodes); - Task> GetListAsync(string AppKey, int orderType, List orderNos, List? trackCodes = null); + Task> GetListAsync(string appKey, TrackOrderType orderType, List orderNos, List? trackCodes = null); Task AnyAsync(int orderId, string originTrackDataHash); @@ -45,7 +44,7 @@ public interface ITrackDetailsEsRepository : IElasticsearchClientService> GetDataByIds(string[] ids); - Task GetDetailAsync(string orderNo, string trackCode, int orderType, string AppKey, DateTime trackTime); + Task GetDetailAsync(string orderNo, string trackCode, TrackOrderType orderType, string appKey, DateTime trackTime); Task MigrateAsync(); } diff --git a/src/TrackCenter.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs b/src/TrackCenter.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs index 26317f04..25a6d8ad 100644 --- a/src/TrackCenter.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs +++ b/src/TrackCenter.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs @@ -28,9 +28,9 @@ public class TrackDetailsIndex : IdVersionIndex public string IndexName { get; set; } = null!; /// - /// 订单类型(主数据枚举TrackOrderType) + /// 订单类型 /// - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 轨迹状态Id diff --git a/src/TrackCenter.Domain/Aggregates/TrackPullAggregate/TrackPullContentConfigEntity.cs b/src/TrackCenter.Domain/Aggregates/TrackPullAggregate/TrackPullContentConfigEntity.cs index cba2a370..6341923e 100644 --- a/src/TrackCenter.Domain/Aggregates/TrackPullAggregate/TrackPullContentConfigEntity.cs +++ b/src/TrackCenter.Domain/Aggregates/TrackPullAggregate/TrackPullContentConfigEntity.cs @@ -49,7 +49,7 @@ public class TrackPullContentConfigEntity : FullAuditedEntity /// 兜底轨迹发生地参数值 /// [SugarColumn(ColumnName = "TrackPlaceValue")] - public int? TrackPlaceValue { get; set; } + public TrackLocationValue? TrackPlaceValue { get; set; } /// /// 兜底轨迹时区所属发生地参数值 diff --git a/src/TrackCenter.Domain/Aggregates/TrackPushAggregate/ITrackPushConfigRepository.cs b/src/TrackCenter.Domain/Aggregates/TrackPushAggregate/ITrackPushConfigRepository.cs index f738ee31..0c96294c 100644 --- a/src/TrackCenter.Domain/Aggregates/TrackPushAggregate/ITrackPushConfigRepository.cs +++ b/src/TrackCenter.Domain/Aggregates/TrackPushAggregate/ITrackPushConfigRepository.cs @@ -1,5 +1,4 @@ using Fake.Application.Dtos; -using TrackCenter.Domain.Dtos.Common; using TrackCenter.Domain.Dtos.TrackPush; namespace TrackCenter.Domain.Aggregates.TrackPushAggregate; @@ -38,7 +37,5 @@ public interface ITrackPushConfigRepository : IBasicRepository> whereExpression); Task> QueryTrackPullMappingsAsync(QueryTrackPullMappingsInputVO input); - Task> GetTrackPushContentListAsync(string AppKey, int customerId); - Task GetServiceCodeByCustomerIdAsync(int customerId); - Task> GetConfigTags(GetConfigTagsInputVO inputVo); + Task> GetTrackPushContentListAsync(string appKey, string customer); } diff --git a/src/TrackCenter.Domain/Aggregates/TrackPushAggregate/TrackPushConfigEntity.cs b/src/TrackCenter.Domain/Aggregates/TrackPushAggregate/TrackPushConfigEntity.cs index 65065069..610f653e 100644 --- a/src/TrackCenter.Domain/Aggregates/TrackPushAggregate/TrackPushConfigEntity.cs +++ b/src/TrackCenter.Domain/Aggregates/TrackPushAggregate/TrackPushConfigEntity.cs @@ -1,5 +1,4 @@ using Fake.Domain.Entities.Auditing; -using TrackCenter.Domain.Enums; using TrackCenter.Domain.SeedWork; namespace TrackCenter.Domain.Aggregates.TrackPushAggregate; @@ -17,10 +16,10 @@ public class TrackPushConfigEntity : FullAuditedAggregateRoot public int Id { get; set; } /// - /// 客户id(外部主体id) + /// 客户(外部主体id) /// - [SugarColumn(ColumnName = "CustomId")] - public int CustomId { get; set; } + [SugarColumn(ColumnName = "Customer")] + public string Customer { get; set; } /// /// 是否自动推送 diff --git a/src/TrackCenter.Domain/Aggregates/TrackPushAggregate/TrackPushContentConfigEntity.cs b/src/TrackCenter.Domain/Aggregates/TrackPushAggregate/TrackPushContentConfigEntity.cs index 6e9c806a..ddfccef5 100644 --- a/src/TrackCenter.Domain/Aggregates/TrackPushAggregate/TrackPushContentConfigEntity.cs +++ b/src/TrackCenter.Domain/Aggregates/TrackPushAggregate/TrackPushContentConfigEntity.cs @@ -16,10 +16,10 @@ public class TrackPushContentConfigEntity : FullAuditedEntity public int Id { get; set; } /// - /// 推送单号类型(主数据枚举TrackOrderType) + /// 推送单号类型 /// [SugarColumn(ColumnName = "OrderNoType")] - public int OrderNoType { get; set; } + public TrackOrderType OrderNoType { get; set; } /// /// 轨迹内容id diff --git a/src/TrackCenter.Domain/Aggregates/WarningAggregate/Complete/CompleteWarningDetailsIndex.cs b/src/TrackCenter.Domain/Aggregates/WarningAggregate/Complete/CompleteWarningDetailsIndex.cs index dbf6420a..1c43a6ed 100644 --- a/src/TrackCenter.Domain/Aggregates/WarningAggregate/Complete/CompleteWarningDetailsIndex.cs +++ b/src/TrackCenter.Domain/Aggregates/WarningAggregate/Complete/CompleteWarningDetailsIndex.cs @@ -21,11 +21,11 @@ public sealed class CompleteWarningDetailsIndex : IdBaseIndex //订单信息 public string AppKey { get; set; } //(冗余)应用 //public string AppName { get; set; } //(冗余)应用名称 - public int CustomId { get; set; } //(冗余)客户Id + public string Customer { get; set; } //(冗余)客户 //public string CustomName { get; set; } //(冗余)客户名称 public int OrderId { get; set; } public string OrderNo { get; set; } //订单号 - public int OrderType { get; set; } //(冗余)订单类型 + public TrackOrderType OrderType { get; set; } //(冗余)订单类型 //public string OrderTypeName { get; set; } //(冗余)订单类型名称 //可变属性 diff --git a/src/TrackCenter.Domain/Aggregates/WarningAggregate/Complete/CompleteWarningRuleItemEntity.cs b/src/TrackCenter.Domain/Aggregates/WarningAggregate/Complete/CompleteWarningRuleItemEntity.cs index 2376170a..cecfeda3 100644 --- a/src/TrackCenter.Domain/Aggregates/WarningAggregate/Complete/CompleteWarningRuleItemEntity.cs +++ b/src/TrackCenter.Domain/Aggregates/WarningAggregate/Complete/CompleteWarningRuleItemEntity.cs @@ -40,9 +40,9 @@ public sealed class CompleteWarningRuleItemEntity : FullAuditedEntity NotifyUsers = notifyUsers; } - public HashSet GetRuleOrderTypes() + public HashSet GetRuleOrderTypes() { - return OrderTypes.Split(',').Select(int.Parse).ToHashSet(); + return OrderTypes.Split(',').Select(Enum.Parse).ToHashSet(); } public List> GetRequireTrackStatusIdGroups() @@ -54,7 +54,7 @@ public sealed class CompleteWarningRuleItemEntity : FullAuditedEntity } // 查看是否能命中这个规则 - public bool CanHitRule(int orderType, HashSet trackStatusIds) + public bool CanHitRule(TrackOrderType orderType, HashSet trackStatusIds) { var orderTypes = GetRuleOrderTypes(); // 没有命中订单类型 @@ -70,7 +70,7 @@ public sealed class CompleteWarningRuleItemEntity : FullAuditedEntity } // 是否完成,不缺失轨迹了 - public bool IsDone(int orderType, HashSet trackStatusIds) + public bool IsDone(TrackOrderType orderType, HashSet trackStatusIds) { var orderTypes = GetRuleOrderTypes(); // 没有命中订单类型 diff --git a/src/TrackCenter.Domain/Aggregates/WarningAggregate/IWarningRuleRepository.cs b/src/TrackCenter.Domain/Aggregates/WarningAggregate/IWarningRuleRepository.cs index 79422982..75c63a7e 100644 --- a/src/TrackCenter.Domain/Aggregates/WarningAggregate/IWarningRuleRepository.cs +++ b/src/TrackCenter.Domain/Aggregates/WarningAggregate/IWarningRuleRepository.cs @@ -1,7 +1,6 @@ using TrackCenter.Domain.Aggregates.WarningAggregate.Complete; using TrackCenter.Domain.Aggregates.WarningAggregate.Return; using TrackCenter.Domain.Aggregates.WarningAggregate.Transport; -using TrackCenter.Domain.Enums; namespace TrackCenter.Domain.Aggregates.WarningAggregate; @@ -13,10 +12,10 @@ public interface IWarningRuleRepository : IBasicRepository #region 规则主体 // 检查名称是否重复 - Task CheckNameDuplicateAsync(int id, string appKey, int customId, string name, WarningRuleType warningType); + Task CheckNameDuplicateAsync(int id, string appKey, string customer, string name, WarningRuleType warningType); // 检查是同一【应用+客户+类型】是否有多个启用的预警规则主体 - Task CheckEnableDuplicateAsync(int warningId, string appKey, int customId, WarningRuleType warningType); + Task CheckEnableDuplicateAsync(int warningId, string appKey, string customer, WarningRuleType warningType); // 新增/更新预警规则主体,并返回id Task UpsertReturnIdAsync(WarningRuleEntity entity); @@ -25,13 +24,13 @@ public interface IWarningRuleRepository : IBasicRepository Task UpdateVersionAsync(WarningRuleEntity entity); // 模糊查询预警规则主体 - Task> GetWarningRuleListAsync(string? appKey, int? customId, string? kpiname, bool? isEnabled, int? warningType); + Task> GetWarningRuleListAsync(string? appKey, string? customer, string? kpiname, bool? isEnabled, int? warningType); // 获取启用的预警规则主体 - Task GetWarningRuleForEnabledAsync(string appKey, int customId, WarningRuleType warningType); + Task GetWarningRuleForEnabledAsync(string appKey, string customer, WarningRuleType warningType); // 获取启用的预警规则主体 - Task> GetWarningRuleForEnabledAsync(HashSet<(string AppKey, int CustomId)> conditions, WarningRuleType warningType); + Task> GetWarningRuleForEnabledAsync(HashSet<(string AppKey, string Customer)> conditions, WarningRuleType warningType); // 获取预警规则主体根据id Task GetWarningRuleByIdAsync(int id, WarningRuleType? warningType = null); diff --git a/src/TrackCenter.Domain/Aggregates/WarningAggregate/Return/ReturnWarningDetailsIndex.cs b/src/TrackCenter.Domain/Aggregates/WarningAggregate/Return/ReturnWarningDetailsIndex.cs index ebf362f7..82fdc66e 100644 --- a/src/TrackCenter.Domain/Aggregates/WarningAggregate/Return/ReturnWarningDetailsIndex.cs +++ b/src/TrackCenter.Domain/Aggregates/WarningAggregate/Return/ReturnWarningDetailsIndex.cs @@ -23,11 +23,10 @@ public class ReturnWarningDetailsIndex : IdBaseIndex //订单信息 public string AppKey { get; set; } //(冗余)应用 //public string AppName { get; set; } //(冗余)应用名称 - public int CustomId { get; set; } //(冗余)客户Id - //public string CustomName { get; set; } //(冗余)客户名称 + public string Customer { get; set; } //(冗余)客户 public int OrderId { get; set; } public string OrderNo { get; set; } //订单号 - public int OrderType { get; set; } //(冗余)订单类型 + public TrackOrderType OrderType { get; set; } //(冗余)订单类型 //public string OrderTypeName { get; set; } //(冗余)订单类型名称 diff --git a/src/TrackCenter.Domain/Aggregates/WarningAggregate/Transport/TransportWarningDetailsIndex.cs b/src/TrackCenter.Domain/Aggregates/WarningAggregate/Transport/TransportWarningDetailsIndex.cs index e369b89f..550378e1 100644 --- a/src/TrackCenter.Domain/Aggregates/WarningAggregate/Transport/TransportWarningDetailsIndex.cs +++ b/src/TrackCenter.Domain/Aggregates/WarningAggregate/Transport/TransportWarningDetailsIndex.cs @@ -3,7 +3,6 @@ using Nest; using TrackCenter.Domain.Aggregates.KPIAreaAggregate; using TrackCenter.Domain.Aggregates.TrackDetailsAggregate; using TrackCenter.Domain.Consts; -using TrackCenter.Domain.Enums; using TrackCenter.Domain.SeedWork; namespace TrackCenter.Domain.Aggregates.WarningAggregate.Transport; @@ -32,12 +31,12 @@ public sealed class TransportWarningDetailsIndex : IdBaseIndex public string AppKey { get; set; } //(冗余)应用 // public string AppName { get; set; } //(冗余)应用名称 - public int CustomId { get; set; } //(冗余)客户Id + public string Customer { get; set; } //(冗余)客户 // public string CustomName { get; set; } //冗余 客户简称(用于查询条件) public int OrderId { get; set; } public string OrderNo { get; set; } //订单号 - public int OrderType { get; set; } //(冗余)订单类型 + public TrackOrderType OrderType { get; set; } //(冗余)订单类型 // public string OrderTypeName { get; set; } //(冗余)订单类型名称 //轨迹信息-起始(更新用例:新增轨迹时,场景/规则项变更并且重新命中) diff --git a/src/TrackCenter.Domain/Aggregates/WarningAggregate/WarningRuleEntity.cs b/src/TrackCenter.Domain/Aggregates/WarningAggregate/WarningRuleEntity.cs index 8ffc4cb3..5225d533 100644 --- a/src/TrackCenter.Domain/Aggregates/WarningAggregate/WarningRuleEntity.cs +++ b/src/TrackCenter.Domain/Aggregates/WarningAggregate/WarningRuleEntity.cs @@ -5,7 +5,7 @@ namespace TrackCenter.Domain.Aggregates.WarningAggregate; // 预警规则主体 [SugarTable("t_warning", TableDescription = "预警规则主体")] -[SugarIndex("IDX_CustomId_AppKey", nameof(CustomId), OrderByType.Asc, nameof(AppKey), OrderByType.Asc)] +[SugarIndex("IDX_Customer_AppKey", nameof(Customer), OrderByType.Asc, nameof(AppKey), OrderByType.Asc)] public sealed class WarningRuleEntity : FullAuditedAggregateRoot { [SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true)] @@ -14,8 +14,8 @@ public sealed class WarningRuleEntity : FullAuditedAggregateRoot [SugarColumn(ColumnName = "AppKey", ColumnDescription = "应用")] public string AppKey { get; set; } //应用 - [SugarColumn(ColumnName = "CustomId", ColumnDescription = "客户id")] - public int CustomId { get; set; } //客户id + [SugarColumn(ColumnName = "Customer", ColumnDescription = "客户")] + public string Customer { get; set; } //客户 // [SugarColumn(ColumnName = "CustomName", ColumnDescription = "客户名称")] // public string CustomName { get; set; } //冗余客户简称,用于查询 @@ -36,31 +36,31 @@ public sealed class WarningRuleEntity : FullAuditedAggregateRoot { } - public WarningRuleEntity(int id, string name, string AppKey, int customId, bool isEnabled, int warningType, string version) + public WarningRuleEntity(int id, string name, string AppKey, string customer, bool isEnabled, int warningType, string version) { Id = id; Name = name; AppKey = AppKey; - CustomId = customId; + Customer = customer; IsEnabled = isEnabled; WarningType = warningType; Version = version; } - public WarningRuleEntity(int id, string name, string AppKey, int customId, bool isEnabled, int warningType) + public WarningRuleEntity(int id, string name, string AppKey, string customer, bool isEnabled, int warningType) { Id = id; Name = name; AppKey = AppKey; - CustomId = customId; + Customer = customer; IsEnabled = isEnabled; WarningType = warningType; Version = VersionGenerate.GenVersion(); } // 应用+客户id确定命中规则主体 - public bool CanHitRule(string AppKey, int customId) + public bool CanHitRule(string AppKey, string customer) { - return AppKey == AppKey && CustomId == customId; + return AppKey == AppKey && Customer == customer; } } diff --git a/src/TrackCenter.Domain/Consts/GlobalConst.cs b/src/TrackCenter.Domain/Consts/GlobalConst.cs index c8e463d4..19fa6d53 100644 --- a/src/TrackCenter.Domain/Consts/GlobalConst.cs +++ b/src/TrackCenter.Domain/Consts/GlobalConst.cs @@ -3,7 +3,6 @@ namespace TrackCenter.Domain.Consts; public partial class GlobalConst { public const string MainDataKey_OrderType = "TrackOrderType"; - public const string MainDataKey_TrackQuestionType = "TrackQuestionType"; public const string SystemUser = "系统"; public const string EmptyString = "--"; public const int ChunkSize = 100; diff --git a/src/TrackCenter.Domain/Dtos/Order/GetPageTrackOrderInputVO.cs b/src/TrackCenter.Domain/Dtos/Order/GetPageTrackOrderInputVO.cs index 772450e2..6927319e 100644 --- a/src/TrackCenter.Domain/Dtos/Order/GetPageTrackOrderInputVO.cs +++ b/src/TrackCenter.Domain/Dtos/Order/GetPageTrackOrderInputVO.cs @@ -10,17 +10,17 @@ public class GetPageTrackOrderInputVO : PageInfoInput /// /// 当tab选中 0 全部 1 异常 2 警告 /// - public int TabType { get; set; } + public TrackProblemType TabType { get; set; } /// /// 订单类型 /// - public int? TrackOrderType { get; set; } + public TrackOrderType? TrackOrderType { get; set; } /// - /// 客户id + /// 客户 /// - public int? CustomerId { get; set; } + public string? Customer { get; set; } ///// ///// 单号 @@ -56,7 +56,7 @@ public class TrackOrderVO /// /// 订单类型id /// - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 订单类型名称 @@ -68,21 +68,10 @@ public class TrackOrderVO /// public string? OrderNumber { get; set; } - /// - /// 客户简称 + /// 客户 /// - public string? CustomerShortName { get; set; } - - /// - /// 客户代码 - /// - public string? CustomerCode { get; set; } - - /// - /// 客户id - /// - public int CustomerId { get; set; } + public string Customer { get; set; } ///// ///// 订单明细(json) @@ -142,7 +131,7 @@ public class TrackOrderVO /// /// 问题类型(主数据枚举TrackQuestionType) /// - public int QuestionType { get; set; } + public TrackProblemType QuestionType { get; set; } /// /// 问题类型名称 diff --git a/src/TrackCenter.Domain/Dtos/Order/LinkedOrderVO.cs b/src/TrackCenter.Domain/Dtos/Order/LinkedOrderVO.cs index 3cb5f2d8..840fa4e0 100644 --- a/src/TrackCenter.Domain/Dtos/Order/LinkedOrderVO.cs +++ b/src/TrackCenter.Domain/Dtos/Order/LinkedOrderVO.cs @@ -20,7 +20,7 @@ public class LinkedOrderVO /// /// 订单类型(主数据枚举TrackOrderType) /// - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 应用 @@ -28,7 +28,7 @@ public class LinkedOrderVO public string AppKey { get; set; } /// - /// 客户id + /// 客户 /// - public int CustomId { get; set; } + public string Customer { get; set; } } diff --git a/src/TrackCenter.Domain/Dtos/Order/OrderIdentifier.cs b/src/TrackCenter.Domain/Dtos/Order/OrderIdentifier.cs index a82047c5..c6359312 100644 --- a/src/TrackCenter.Domain/Dtos/Order/OrderIdentifier.cs +++ b/src/TrackCenter.Domain/Dtos/Order/OrderIdentifier.cs @@ -5,7 +5,7 @@ namespace TrackCenter.Domain.Dtos.Order; /// public readonly struct OrderIdentifier { - public OrderIdentifier(int orderType, string orderNo) + public OrderIdentifier(TrackOrderType orderType, string orderNo) { OrderType = orderType; OrderNo = orderNo; @@ -14,7 +14,7 @@ public readonly struct OrderIdentifier /// /// 订单类型 /// - public int OrderType { get; } + public TrackOrderType OrderType { get; } /// /// 订单号 diff --git a/src/TrackCenter.Domain/Dtos/Order/OrderWithServiceProviderVO.cs b/src/TrackCenter.Domain/Dtos/Order/OrderWithServiceProviderVO.cs index 3f51e6e5..13fe51f8 100644 --- a/src/TrackCenter.Domain/Dtos/Order/OrderWithServiceProviderVO.cs +++ b/src/TrackCenter.Domain/Dtos/Order/OrderWithServiceProviderVO.cs @@ -5,9 +5,9 @@ public class OrderWithServiceProviderVO public string OrderNo { get; set; } = null!; /// - /// 订单类型(主数据枚举TrackOrderType) + /// 订单类型 /// - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 服务商code diff --git a/src/TrackCenter.Domain/Dtos/TrackPull/GetTrackPullContentPageOutputVO.cs b/src/TrackCenter.Domain/Dtos/TrackPull/GetTrackPullContentPageOutputVO.cs index b822f874..53cb1522 100644 --- a/src/TrackCenter.Domain/Dtos/TrackPull/GetTrackPullContentPageOutputVO.cs +++ b/src/TrackCenter.Domain/Dtos/TrackPull/GetTrackPullContentPageOutputVO.cs @@ -1,3 +1,5 @@ +using InterfaceForward.Domain.Shared.Helpers; + namespace TrackCenter.Domain.Dtos.TrackPull; public class GetTrackPullContentPageOutputVO @@ -42,7 +44,9 @@ public class GetTrackPullContentPageOutputVO /// /// 轨迹发生地 /// - public string? TrackPlaceValue { get; set; } + public TrackLocationValue? TrackPlaceValue { get; set; } + + public string? TrackPlaceValueName => TrackPlaceValue?.GetDescription(); /// /// 拉取轨迹状态 diff --git a/src/TrackCenter.Domain/Dtos/TrackPush/GetTrackPushConfigDetailOutputVO.cs b/src/TrackCenter.Domain/Dtos/TrackPush/GetTrackPushConfigDetailOutputVO.cs index 52e44e28..d446d769 100644 --- a/src/TrackCenter.Domain/Dtos/TrackPush/GetTrackPushConfigDetailOutputVO.cs +++ b/src/TrackCenter.Domain/Dtos/TrackPush/GetTrackPushConfigDetailOutputVO.cs @@ -1,20 +1,13 @@ -using TrackCenter.Domain.Enums; - -namespace TrackCenter.Domain.Dtos.TrackPush; +namespace TrackCenter.Domain.Dtos.TrackPush; public class GetTrackPushConfigDetailOutputVO { public int Id { get; set; } - /// - /// 客户id - /// - public int CustomId { get; set; } - /// /// 客户 /// - public string CustomName { get; set; } + public string Customer { get; set; } /// /// 是否自动推送 diff --git a/src/TrackCenter.Domain/Dtos/TrackPush/GetTrackPushConfigPageOutputVO.cs b/src/TrackCenter.Domain/Dtos/TrackPush/GetTrackPushConfigPageOutputVO.cs index b0ad1020..9be39b57 100644 --- a/src/TrackCenter.Domain/Dtos/TrackPush/GetTrackPushConfigPageOutputVO.cs +++ b/src/TrackCenter.Domain/Dtos/TrackPush/GetTrackPushConfigPageOutputVO.cs @@ -10,14 +10,14 @@ public class GetTrackPushConfigPageOutputVO /// /// 客户名称 /// - public string CustomName { get; set; } + public string Customer { get; set; } public int Id { get; set; } /// /// 应用名称 /// - public string App { get; set; } + public string AppName { get; set; } /// /// 应用 diff --git a/src/TrackCenter.Domain/Dtos/TrackPush/GetTrackPushContentListVo.cs b/src/TrackCenter.Domain/Dtos/TrackPush/GetTrackPushContentListVo.cs index 9c6d8cdd..f51fb925 100644 --- a/src/TrackCenter.Domain/Dtos/TrackPush/GetTrackPushContentListVo.cs +++ b/src/TrackCenter.Domain/Dtos/TrackPush/GetTrackPushContentListVo.cs @@ -12,7 +12,7 @@ public class GetTrackPushContentListVo /// /// 推送单号类型 /// - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 服务商轨迹代码 diff --git a/src/TrackCenter.Domain/Dtos/TrackPush/GetTrackPushContentPageInputVO.cs b/src/TrackCenter.Domain/Dtos/TrackPush/GetTrackPushContentPageInputVO.cs index 50abfed2..d5ec7b3b 100644 --- a/src/TrackCenter.Domain/Dtos/TrackPush/GetTrackPushContentPageInputVO.cs +++ b/src/TrackCenter.Domain/Dtos/TrackPush/GetTrackPushContentPageInputVO.cs @@ -10,5 +10,5 @@ public class GetTrackPushContentPageInputVO : PageInfoInput /// /// 配置单号类型,当为空时查所有,不区分单号类型 /// - public int? OrderNoType { get; set; } + public TrackOrderType? OrderNoType { get; set; } } diff --git a/src/TrackCenter.Domain/Dtos/TrackPush/GetTrackPushContentPageOutputVO.cs b/src/TrackCenter.Domain/Dtos/TrackPush/GetTrackPushContentPageOutputVO.cs index 899c97e2..c9908640 100644 --- a/src/TrackCenter.Domain/Dtos/TrackPush/GetTrackPushContentPageOutputVO.cs +++ b/src/TrackCenter.Domain/Dtos/TrackPush/GetTrackPushContentPageOutputVO.cs @@ -1,4 +1,6 @@ -namespace TrackCenter.Domain.Dtos.TrackPush; +using InterfaceForward.Domain.Shared.Helpers; + +namespace TrackCenter.Domain.Dtos.TrackPush; public class GetTrackPushContentPageOutputVO { @@ -32,7 +34,12 @@ public class GetTrackPushContentPageOutputVO /// /// 推送单号类型 /// - public string OrderNoType { get; set; } + public string OrderNoTypeName => OrderNoType.GetDescription(); + + /// + /// 推送单号类型 + /// + public TrackOrderType OrderNoType { get; set; } /// /// 推送排序 diff --git a/src/TrackCenter.Domain/Dtos/TrackPush/QueryTrackPullMappingsInfoVO.cs b/src/TrackCenter.Domain/Dtos/TrackPush/QueryTrackPullMappingsInfoVO.cs index 6eb2fbf4..e611e096 100644 --- a/src/TrackCenter.Domain/Dtos/TrackPush/QueryTrackPullMappingsInfoVO.cs +++ b/src/TrackCenter.Domain/Dtos/TrackPush/QueryTrackPullMappingsInfoVO.cs @@ -13,7 +13,7 @@ public class QueryTrackPullMappingsInfoVO /// /// 订单类型 /// - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 服务商轨迹代码 @@ -47,7 +47,7 @@ public class QueryTrackPullMappingsInputVO public string AppKey { get; set; } /// - /// 客户id + /// 客户 /// - public int CustomerId { get; set; } + public string Customer { get; set; } } diff --git a/src/TrackCenter.Domain/Dtos/TrackPush/TrackPushContentConfigVO.cs b/src/TrackCenter.Domain/Dtos/TrackPush/TrackPushContentConfigVO.cs index 95f71773..d6779064 100644 --- a/src/TrackCenter.Domain/Dtos/TrackPush/TrackPushContentConfigVO.cs +++ b/src/TrackCenter.Domain/Dtos/TrackPush/TrackPushContentConfigVO.cs @@ -55,7 +55,7 @@ public class TrackPushContentConfigVO /// /// 推送单号类型(主数据枚举TrackOrderType) /// - public int OrderType { get; set; } + public TrackOrderType OrderType { get; set; } /// /// 轨迹代码参数值 diff --git a/src/TrackCenter.Domain/Dtos/TrackTemplate/GetPageTrackTemplateListInputVo.cs b/src/TrackCenter.Domain/Dtos/TrackTemplate/GetPageTrackTemplateListInputVo.cs index dcac28ae..964d5877 100644 --- a/src/TrackCenter.Domain/Dtos/TrackTemplate/GetPageTrackTemplateListInputVo.cs +++ b/src/TrackCenter.Domain/Dtos/TrackTemplate/GetPageTrackTemplateListInputVo.cs @@ -8,9 +8,9 @@ public class GetPageTrackTemplateListInputVo : PageInfoInput public string AppKey { get; set; } /// - /// 客户id + /// 客户 /// - public int? CustomerId { get; set; } + public string? Customer { get; set; } /// /// 模版分类 diff --git a/src/TrackCenter.Domain/Dtos/TrackTemplate/GetTrackTemplateDetailVO.cs b/src/TrackCenter.Domain/Dtos/TrackTemplate/GetTrackTemplateDetailVO.cs index f2c9cb0f..b95c6acf 100644 --- a/src/TrackCenter.Domain/Dtos/TrackTemplate/GetTrackTemplateDetailVO.cs +++ b/src/TrackCenter.Domain/Dtos/TrackTemplate/GetTrackTemplateDetailVO.cs @@ -36,9 +36,9 @@ public class GetTrackTemplateDetailVO public int CategoryId { get; set; } /// - /// 客户id + /// 客户 /// - public int CustomerId { get; set; } + public string Customer { get; set; } } /// diff --git a/src/TrackCenter.Domain/Dtos/TrackTemplate/GetTrackTemplateListInputVo.cs b/src/TrackCenter.Domain/Dtos/TrackTemplate/GetTrackTemplateListInputVo.cs index c0780f3d..97fcca53 100644 --- a/src/TrackCenter.Domain/Dtos/TrackTemplate/GetTrackTemplateListInputVo.cs +++ b/src/TrackCenter.Domain/Dtos/TrackTemplate/GetTrackTemplateListInputVo.cs @@ -8,9 +8,9 @@ public class GetTrackTemplateListInputVo public string AppKey { get; set; } /// - /// 客户id + /// 客户 /// - public int? CustomerId { get; set; } + public string? Customer { get; set; } /// /// 模版分类 diff --git a/src/TrackCenter.Domain/Dtos/Warning/BulkCloseCompleteWarningDetailsVO.cs b/src/TrackCenter.Domain/Dtos/Warning/BulkCloseCompleteWarningDetailsVO.cs index 5da6feec..addddb10 100644 --- a/src/TrackCenter.Domain/Dtos/Warning/BulkCloseCompleteWarningDetailsVO.cs +++ b/src/TrackCenter.Domain/Dtos/Warning/BulkCloseCompleteWarningDetailsVO.cs @@ -1,5 +1,3 @@ -using TrackCenter.Domain.Enums; - namespace TrackCenter.Domain.Dtos.Warning; public class BulkCloseCompleteWarningDetailsVO diff --git a/src/TrackCenter.Domain/Dtos/Warning/BulkCloseReturnWarningDetailsVO.cs b/src/TrackCenter.Domain/Dtos/Warning/BulkCloseReturnWarningDetailsVO.cs index 194c37e3..8f8c0261 100644 --- a/src/TrackCenter.Domain/Dtos/Warning/BulkCloseReturnWarningDetailsVO.cs +++ b/src/TrackCenter.Domain/Dtos/Warning/BulkCloseReturnWarningDetailsVO.cs @@ -1,5 +1,3 @@ -using TrackCenter.Domain.Enums; - namespace TrackCenter.Domain.Dtos.Warning; public class BulkCloseReturnWarningDetailsVO diff --git a/src/TrackCenter.Domain/Dtos/Warning/BulkCloseTransportWarningDetailsVO.cs b/src/TrackCenter.Domain/Dtos/Warning/BulkCloseTransportWarningDetailsVO.cs index 8cf3bbd9..ca780a40 100644 --- a/src/TrackCenter.Domain/Dtos/Warning/BulkCloseTransportWarningDetailsVO.cs +++ b/src/TrackCenter.Domain/Dtos/Warning/BulkCloseTransportWarningDetailsVO.cs @@ -1,5 +1,3 @@ -using TrackCenter.Domain.Enums; - namespace TrackCenter.Domain.Dtos.Warning; public class BulkCloseTransportWarningDetailsVO diff --git a/src/TrackCenter.Domain/Dtos/Warning/GetCompleteWarningDetailsVO.cs b/src/TrackCenter.Domain/Dtos/Warning/GetCompleteWarningDetailsVO.cs index 43257eb8..b1759e2b 100644 --- a/src/TrackCenter.Domain/Dtos/Warning/GetCompleteWarningDetailsVO.cs +++ b/src/TrackCenter.Domain/Dtos/Warning/GetCompleteWarningDetailsVO.cs @@ -1,5 +1,3 @@ -using TrackCenter.Domain.Enums; - namespace TrackCenter.Domain.Dtos.Warning; public class GetCompleteWarningDetailsVO diff --git a/src/TrackCenter.Domain/Dtos/Warning/GetPageCompleteWarningDetailsInputVO.cs b/src/TrackCenter.Domain/Dtos/Warning/GetPageCompleteWarningDetailsInputVO.cs index 8cc70dc2..57198959 100644 --- a/src/TrackCenter.Domain/Dtos/Warning/GetPageCompleteWarningDetailsInputVO.cs +++ b/src/TrackCenter.Domain/Dtos/Warning/GetPageCompleteWarningDetailsInputVO.cs @@ -24,9 +24,9 @@ public class GetPageCompleteWarningDetailsInputVO : PageInfoInput public int? Status { get; set; } /// - /// 客户id + /// 客户 /// - public int? CustomId { get; set; } + public string Customer { get; set; } /// /// 缺失轨迹状态id diff --git a/src/TrackCenter.Domain/Dtos/Warning/GetPageReturnWarningDetailsInputVO.cs b/src/TrackCenter.Domain/Dtos/Warning/GetPageReturnWarningDetailsInputVO.cs index 4e8600b1..091c577e 100644 --- a/src/TrackCenter.Domain/Dtos/Warning/GetPageReturnWarningDetailsInputVO.cs +++ b/src/TrackCenter.Domain/Dtos/Warning/GetPageReturnWarningDetailsInputVO.cs @@ -27,9 +27,9 @@ public class GetPageReturnWarningDetailsInputVO : PageInfoInput public int? Status { get; set; } /// - /// 客户id + /// 客户 /// - public int? CustomId { get; set; } + public string Customer { get; set; } /// /// 轨迹状态id diff --git a/src/TrackCenter.Domain/Dtos/Warning/GetPageTransportWarningDetailsInputVO.cs b/src/TrackCenter.Domain/Dtos/Warning/GetPageTransportWarningDetailsInputVO.cs index 35ae16f4..aea537d0 100644 --- a/src/TrackCenter.Domain/Dtos/Warning/GetPageTransportWarningDetailsInputVO.cs +++ b/src/TrackCenter.Domain/Dtos/Warning/GetPageTransportWarningDetailsInputVO.cs @@ -26,9 +26,9 @@ public class GetPageTransportWarningDetailsInputVO : PageInfoInput public int? Status { get; set; } /// - /// 客户Id + /// 客户 /// - public int? CustomId { get; set; } + public string Customer { get; set; } /// /// 预警名称 diff --git a/src/TrackCenter.Domain/Dtos/Warning/GetReturnWarningDetailsVO.cs b/src/TrackCenter.Domain/Dtos/Warning/GetReturnWarningDetailsVO.cs index e1f19388..61b386ab 100644 --- a/src/TrackCenter.Domain/Dtos/Warning/GetReturnWarningDetailsVO.cs +++ b/src/TrackCenter.Domain/Dtos/Warning/GetReturnWarningDetailsVO.cs @@ -1,5 +1,3 @@ -using TrackCenter.Domain.Enums; - namespace TrackCenter.Domain.Dtos.Warning; public class GetReturnWarningDetailsVO diff --git a/src/TrackCenter.Domain/Dtos/Warning/GetTransportWarningDetailsVO.cs b/src/TrackCenter.Domain/Dtos/Warning/GetTransportWarningDetailsVO.cs index 6147eef6..b2d3fc30 100644 --- a/src/TrackCenter.Domain/Dtos/Warning/GetTransportWarningDetailsVO.cs +++ b/src/TrackCenter.Domain/Dtos/Warning/GetTransportWarningDetailsVO.cs @@ -1,5 +1,3 @@ -using TrackCenter.Domain.Enums; - namespace TrackCenter.Domain.Dtos.Warning; public class GetTransportWarningDetailsVO diff --git a/src/TrackCenter.Domain/Enums/EnumPropertyEnums.cs b/src/TrackCenter.Domain/Enums/EnumPropertyEnums.cs deleted file mode 100644 index 89d04bf1..00000000 --- a/src/TrackCenter.Domain/Enums/EnumPropertyEnums.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.ComponentModel; - -namespace TrackCenter.Domain.Enums; - -/// -/// 枚举属性 -/// -public enum EnumPropertyEnums -{ - /// - /// 节点 - /// - [Description("ServiceNode")] 节点, - - /// - /// 单号类型 - /// - [Description("TrackOrderType")] 单号类型, - - /// - /// 轨迹发生地 - /// - [Description("TrackLocationValue")] 轨迹发生地 -} diff --git a/src/TrackCenter.Domain/Enums/TrackLocationValue.cs b/src/TrackCenter.Domain/Enums/TrackLocationValue.cs index 78080982..da55a8b1 100644 --- a/src/TrackCenter.Domain/Enums/TrackLocationValue.cs +++ b/src/TrackCenter.Domain/Enums/TrackLocationValue.cs @@ -1,11 +1,21 @@ +using System.ComponentModel; + namespace TrackCenter.Domain.Enums; public enum TrackLocationValue { + [Description("返回值")] + ReturnValue = 1, + [Description("目的港口")] ArrivalPort = 2, + [Description("起运港口")] LeavePort = 3, + [Description("目的国家")] ArrivalCountry = 4, + [Description("起运国家")] LeaveCountry = 5, + [Description("目的城市")] ArriveCity = 6, + [Description("起运城市")] LeaveCity = 7 } diff --git a/src/TrackCenter.Domain/Enums/TrackOrderType.cs b/src/TrackCenter.Domain/Enums/TrackOrderType.cs new file mode 100644 index 00000000..a2a56e97 --- /dev/null +++ b/src/TrackCenter.Domain/Enums/TrackOrderType.cs @@ -0,0 +1,8 @@ +namespace TrackCenter.Domain.Enums; + +public enum TrackOrderType +{ + 小包 = 1, + + 主单 = 4, +} diff --git a/src/TrackCenter.Domain/GlobalUsings.cs b/src/TrackCenter.Domain/GlobalUsings.cs index ceee0009..958fe07a 100644 --- a/src/TrackCenter.Domain/GlobalUsings.cs +++ b/src/TrackCenter.Domain/GlobalUsings.cs @@ -4,3 +4,4 @@ global using System; global using System.Linq.Expressions; global using SqlSugar; global using TrackCenter.Domain.Dtos.Common; +global using TrackCenter.Domain.Enums; diff --git a/src/TrackCenter.Repository/Repositories/OrderRepository.cs b/src/TrackCenter.Repository/Repositories/OrderRepository.cs index 19c905ae..42907565 100644 --- a/src/TrackCenter.Repository/Repositories/OrderRepository.cs +++ b/src/TrackCenter.Repository/Repositories/OrderRepository.cs @@ -1,4 +1,4 @@ -using Microsoft.Extensions.Caching.Memory; +using InterfaceForward.Domain.Shared.Helpers; using TrackCenter.Domain; using TrackCenter.Domain.Aggregates.OrderAggregate; using TrackCenter.Domain.Consts; @@ -6,87 +6,11 @@ using TrackCenter.Domain.Dtos.Order; using TrackCenter.Domain.Enums; using TrackCenter.Domain.Extensions; using TrackCenter.Domain.VEntities; -using TrackCenter.Repository.Redis; namespace TrackCenter.Repository.Repositories; public class OrderRepository : BasicRepository, IOrderRepository, ITransientDependency { - //tips:后期提供缓存清理接口 - //MemoryCache本身线程安全简单使用,短暂数据不一致可以容忍,每过固定时间强制清除缓存 - private static readonly MemoryCache _memoryCache = new(new MemoryCacheOptions()); - private static readonly Dictionary> _empty = new(); - private static readonly TimeSpan _mainDataEnumCacheTimeSpan = TimeSpan.FromMinutes(5); - private static readonly TimeSpan _orderTypeCacheTimeSpan = TimeSpan.FromMinutes(1); - - private async Task>> GetMainDataEnumForCacheAsync(List orderTypes, List questTypes) - { - const string key = "EnumForMainData"; - if (orderTypes.Count == 0 && questTypes.Count == 0) return _empty; - - var dict = _memoryCache.Get>>(key); - if (dict != null && dict.Count != 0 - && !orderTypes.Except(dict[GlobalConst.MainDataKey_OrderType].Keys).Any() - && !questTypes.Except(dict[GlobalConst.MainDataKey_TrackQuestionType].Keys).Any()) - { - return dict; - } - - //从主数据中心查询类型描述 - dict = (await Context.Queryable() - .Where(x => - (x.Property == GlobalConst.MainDataKey_OrderType && orderTypes.Contains(x.Enumkey)) - || (x.Property == GlobalConst.MainDataKey_TrackQuestionType && questTypes.Contains(x.Enumkey)) - ) - .Select(x => new - { - x.Property, - x.Enumkey, - x.Disp - }) - .ToListAsync() - ) - .GroupBy(x => x.Property) - .ToDictionary( - g => g.Key, - y => y.ToDictionary(x => x.Enumkey, x => x.Disp) - ); - - if (dict.Count == 0) - return _empty; - - _memoryCache.Set(key, dict, new MemoryCacheEntryOptions - { - AbsoluteExpirationRelativeToNow = _mainDataEnumCacheTimeSpan, - Size = dict.Count - }); - return dict; - } - - public async Task> GetTrackOrderTypeDictAsync() - { - const string key = "TrackOrderType"; - var isRefresh = false; - var orderTypes = await _memoryCache.GetOrCreateAsync(key, async (entry) => - { - isRefresh = true; - // 固定时间周期后强制更新 - entry.AbsoluteExpirationRelativeToNow = _orderTypeCacheTimeSpan; - // 查询主数据 - return await Context.Queryable() - .Where(x => x.Property == GlobalConst.MainDataKey_OrderType) - .ToDictionaryAsync(x => x.Enumkey, x => x.Disp); - }); - - // 更新redis缓存 - if (isRefresh) - await RedisHelper.Client.HMSetAsync(GlobalConst.TrackOrderTypeKey, orderTypes); - - // redis内数据只更新不清理 - var dict = RedisHelper.Client.HGetAll(GlobalConst.TrackOrderTypeKey); - - return dict; - } public async Task> GetTrackOrderPagedList(GetPageTrackOrderInputVO input) { @@ -96,29 +20,26 @@ public class OrderRepository : BasicRepository, IOrderRepository, I if (input.OrderNos.IsNullOrEmpty()) { pageList = await Context.Queryable() - .LeftJoin((a, b) => a.CustomId == b.Id && b.IsDeleted == false) - .LeftJoin((a, b, c) => a.AppKey == c.AppKey && c.IsDeleted == false) - .WhereIF(!input.AppKey.IsNullOrWhiteSpace(), (a, b, c) => a.AppKey == input.AppKey) + .LeftJoin((a, c) => a.AppKey == c.AppKey && c.IsDeleted == false) + .WhereIF(!input.AppKey.IsNullOrWhiteSpace(), (a, c) => a.AppKey == input.AppKey) .WhereIF(input.CreateTimeStart.HasValue && input.CreateTimeEnd.HasValue, - (a, b, c) => a.CreateTime >= input.CreateTimeStart && a.CreateTime <= input.CreateTimeEnd) + (a, c) => a.CreateTime >= input.CreateTimeStart && a.CreateTime <= input.CreateTimeEnd) .WhereIF(input.CreateTimeStart.HasValue && (!input.CreateTimeEnd.HasValue), - (a, b, c) => a.CreateTime >= input.CreateTimeStart) + (a, c) => a.CreateTime >= input.CreateTimeStart) .WhereIF((!input.CreateTimeStart.HasValue) && input.CreateTimeEnd.HasValue, - (a, b, c) => a.CreateTime <= input.CreateTimeEnd) - .WhereIF(input.CustomerId > 0, (a, b, c) => a.CustomId == input.CustomerId) - .WhereIF(input.TrackOrderType > 0, (a, b, c) => a.OrderType == input.TrackOrderType) - .WhereIF(input.TabType > 0, (a, b, c) => a.QuestionType == input.TabType) - .WhereIF(input.TabType == (int) TrackProblemType.Warn, (a, b, c) => !a.IsCompleted) - .OrderByDescending((a, b, c) => a.CreateTime) - .Select((a, b, c) => new TrackOrderVO + (a, c) => a.CreateTime <= input.CreateTimeEnd) + .WhereIF(!input.Customer.IsNullOrWhiteSpace(), (a, c) => a.Customer.Contains(input.Customer!)) + .WhereIF(input.TrackOrderType > 0, (a, c) => a.OrderType == input.TrackOrderType) + .WhereIF(input.TabType > 0, (a, c) => a.QuestionType == input.TabType) + .WhereIF(input.TabType == TrackProblemType.Warn, (a , c) => !a.IsCompleted) + .OrderByDescending((a, c) => a.CreateTime) + .Select((a, c) => new TrackOrderVO { Id = a.Id, OrderNumber = a.OrderNo, OrderType = a.OrderType, QuestionType = a.QuestionType, - CustomerShortName = b.Abbreviation, - CustomerCode = b.Code, - CustomerId = a.CustomId, + Customer = a.Customer, NewestTrackStatus = a.LatestTrackStatus, NewestTrackContent = a.LatestTrackContent, NewestTrackEnContent = a.LatestTrackEnContent, @@ -164,29 +85,26 @@ public class OrderRepository : BasicRepository, IOrderRepository, I pageList = await Context.Queryable() .Where(x => orderIds.Contains(x.Id)) - .LeftJoin((a, b) => a.CustomId == b.Id && b.IsDeleted == false) - .LeftJoin((a, b, c) => a.AppKey == c.AppKey && c.IsDeleted == false) - .WhereIF(!input.AppKey.IsNullOrWhiteSpace(), (a, b, c) => a.AppKey == input.AppKey) + .LeftJoin((a, c) => a.AppKey == c.AppKey && c.IsDeleted == false) + .WhereIF(!input.AppKey.IsNullOrWhiteSpace(), (a, c) => a.AppKey == input.AppKey) .WhereIF(input.CreateTimeStart.HasValue && input.CreateTimeEnd.HasValue, - (a, b, c) => a.CreateTime >= input.CreateTimeStart && a.CreateTime <= input.CreateTimeEnd) + (a, c) => a.CreateTime >= input.CreateTimeStart && a.CreateTime <= input.CreateTimeEnd) .WhereIF(input.CreateTimeStart.HasValue && (!input.CreateTimeEnd.HasValue), - (a, b, c) => a.CreateTime >= input.CreateTimeStart) + (a, c) => a.CreateTime >= input.CreateTimeStart) .WhereIF((!input.CreateTimeStart.HasValue) && input.CreateTimeEnd.HasValue, - (a, b, c) => a.CreateTime <= input.CreateTimeEnd) - .WhereIF(input.CustomerId > 0, (a, b, c) => a.CustomId == input.CustomerId) - .WhereIF(input.TrackOrderType > 0, (a, b, c) => a.OrderType == input.TrackOrderType) - .WhereIF(input.TabType > 0, (a, b, c) => a.QuestionType == input.TabType) - .WhereIF(input.TabType == (int) TrackProblemType.Warn, (a, b, c) => !a.IsCompleted) - .OrderByDescending((a, b, c) => a.CreateTime) - .Select((a, b, c) => new TrackOrderVO + (a, c) => a.CreateTime <= input.CreateTimeEnd) + .WhereIF(!input.Customer.IsNullOrWhiteSpace(), (a, c) => a.Customer.Contains(input.Customer!)) + .WhereIF(input.TrackOrderType > 0, (a, c) => a.OrderType == input.TrackOrderType) + .WhereIF(input.TabType > 0, (a, c) => a.QuestionType == input.TabType) + .WhereIF(input.TabType == TrackProblemType.Warn, (a, c) => !a.IsCompleted) + .OrderByDescending((a, c) => a.CreateTime) + .Select((a, c) => new TrackOrderVO { Id = a.Id, OrderNumber = a.OrderNo, OrderType = a.OrderType, QuestionType = a.QuestionType, - CustomerShortName = b.Abbreviation, - CustomerCode = b.Code, - CustomerId = a.CustomId, + Customer = a.Customer, NewestTrackStatus = a.LatestTrackStatus, NewestTrackContent = a.LatestTrackContent, NewestTrackEnContent = a.LatestTrackEnContent, @@ -204,31 +122,17 @@ public class OrderRepository : BasicRepository, IOrderRepository, I .ToPagedListAsync(input.PageIndex, input.PageSize); } - //查询订单类型描述,从缓存中加速查 - var orderTypes = pageList.Items.Select(x => x.OrderType).Distinct().ToList(); - var questTypes = pageList.Items.Select(x => x.QuestionType).Distinct().ToList(); - var typeDisplayDict = await GetMainDataEnumForCacheAsync(orderTypes, questTypes); - //填充数描述信息 pageList.Items.ForEach(x => { - x.OrderTypeName = typeDisplayDict.TryGetValue(GlobalConst.MainDataKey_OrderType, out var orderTypeDisplayDict) - ? orderTypeDisplayDict.TryGetValue(x.OrderType, out var orderTypeDisplay) - ? orderTypeDisplay - : $"未在主数据中心找到Property:[{GlobalConst.MainDataKey_OrderType}],EnumKey:[{x.OrderType}]" - : $"未在主数据中心找到Property:[{GlobalConst.MainDataKey_OrderType}]"; - - x.QuestionTypeName = typeDisplayDict.TryGetValue(GlobalConst.MainDataKey_TrackQuestionType, out var questDisplayDict) - ? questDisplayDict.TryGetValue(x.QuestionType, out var questDisplay) - ? questDisplay - : $"未在主数据中心找到Property:[{GlobalConst.MainDataKey_OrderType}],EnumKey:[{x.QuestionType}]" - : $"未在主数据中心找到Property:[{GlobalConst.MainDataKey_TrackQuestionType}]"; + x.OrderTypeName = x.OrderType.GetDescription(); + x.QuestionTypeName = x.QuestionType.GetDescription(); }); return pageList; } - public async Task<(int MainOrderId, string OrderNo, int CustomId)> GetTrackOrderByProviderAndOrderNo(string serviceProviderCode, string orderNo) + public async Task<(int MainOrderId, string OrderNo, string Customer)> GetTrackOrderByProviderAndOrderNo(string serviceProviderCode, string orderNo) { var orderList = await Context.Queryable() .LeftJoin((a, b) => a.Id == b.OrderId) @@ -237,7 +141,7 @@ public class OrderRepository : BasicRepository, IOrderRepository, I .Select((a, b) => new { a.Id, - a.CustomId, + a.Customer, a.OrderNo, Platform = b.ServiceProviderCode, OrderNumber = b.OrderNo @@ -253,8 +157,8 @@ public class OrderRepository : BasicRepository, IOrderRepository, I //当出现了多条记录匹配,优先使用外部单匹配提升精确度 var matchOrder = orderList.FirstOrDefault(x => x.Platform == serviceProviderCode && x.OrderNumber == orderNo); return matchOrder != null - ? (matchOrder.Id, matchOrder.OrderNo, matchOrder.CustomId) - : (order.Id, order.OrderNo, order.CustomId); + ? (matchOrder.Id, matchOrder.OrderNo, matchOrder.Customer) + : (order.Id, order.OrderNo, order.Customer); } public async Task CreateOrderAsync(OrderEntity order) @@ -334,8 +238,8 @@ public class OrderRepository : BasicRepository, IOrderRepository, I // 更新订单主表 await UpdateAsync(order, x => new { - x.CustomId, - AppKey = x.AppKey + x.Customer, + x.AppKey }); // 更新订单模板 @@ -360,8 +264,8 @@ public class OrderRepository : BasicRepository, IOrderRepository, I // 更新订单主表 await UpdateRangeAsync(orders, x => new { - x.CustomId, - AppKey = x.AppKey + x.Customer, + x.AppKey }); var orderIds = orders.Select(x => x.Id).ToHashSet(); @@ -411,7 +315,7 @@ public class OrderRepository : BasicRepository, IOrderRepository, I public async Task PushWarnOrdersAsync(string AppKey, int pageSize, int pageindex) { var ordersToUpdate = await Context.Queryable() - .Where(b => b.AppKey == AppKey && !b.IsCompleted && b.QuestionType != 1) + .Where(b => b.AppKey == AppKey && !b.IsCompleted && b.QuestionType != TrackProblemType.Error) .Select(b => new { b.LatestPushTime, @@ -425,10 +329,10 @@ public class OrderRepository : BasicRepository, IOrderRepository, I foreach (var item in ordersToUpdate) { var questionType = !item.LatestPushTime.HasValue || item.LatestPushTime < DateTime.Now.AddHours(-12) - ? 2 - : 0; + ? TrackProblemType.Warn + : TrackProblemType.None; if (item.QuestionType == questionType) continue; - if (questionType == 2) latestPushTimeIds.Add(item.Id); + if (questionType == TrackProblemType.Warn) latestPushTimeIds.Add(item.Id); else questionZeroIds.Add(item.Id); } @@ -462,12 +366,12 @@ public class OrderRepository : BasicRepository, IOrderRepository, I OrderNo = b.OrderNo, OrderType = b.OrderType, AppKey = b.AppKey, - CustomId = b.CustomId + Customer = b.Customer }) .ToListAsync(); } - public async Task> GetLinkedOrdersAsync(int orderId, string linkAppKey, int linkOrderType) + public async Task> GetLinkedOrdersAsync(int orderId, string linkAppKey, TrackOrderType linkOrderType) { return await Context.Queryable() .LeftJoin((a, b) => a.LinkOrderId == b.Id) @@ -476,7 +380,7 @@ public class OrderRepository : BasicRepository, IOrderRepository, I .ToListAsync(); } - public async Task> GetLinkedOrdersAsync(int orderId, string linkAppKey, int linkOrderType, + public async Task> GetLinkedOrdersAsync(int orderId, string linkAppKey, TrackOrderType linkOrderType, List linkOrderNos) { return await Context.Queryable() diff --git a/src/TrackCenter.Repository/Repositories/TrackDetailsEsRepository.cs b/src/TrackCenter.Repository/Repositories/TrackDetailsEsRepository.cs index 2f929660..295c65d3 100644 --- a/src/TrackCenter.Repository/Repositories/TrackDetailsEsRepository.cs +++ b/src/TrackCenter.Repository/Repositories/TrackDetailsEsRepository.cs @@ -593,13 +593,13 @@ public class TrackDetailsEsRepository : ElasticSearchContextAbstract> GetListAsync(string AppKey, int orderType, List orderNos, List? trackCodes = null) + public async Task> GetListAsync(string appKey, TrackOrderType orderType, List orderNos, List? trackCodes = null) { if (orderNos.Count < 1) return new List(); var musts = new List, QueryContainer>> { - mu => mu.Term(f => f.AppKey, AppKey), + mu => mu.Term(f => f.AppKey, appKey), mu => mu .Terms(t => t .Field(f => f.OrderNo.Suffix("keyword")) @@ -801,7 +801,7 @@ public class TrackDetailsEsRepository : ElasticSearchContextAbstract GetDetailAsync(string orderNo, string trackCode, int orderType, string AppKey, DateTime trackTime) + public async Task GetDetailAsync(string orderNo, string trackCode, TrackOrderType orderType, string appKey, DateTime trackTime) { var res = await Context.SearchAsync(s => s .Index("sjzy_track_details") @@ -822,7 +822,7 @@ public class TrackDetailsEsRepository : ElasticSearchContextAbstract mu .Terms(t => t .Field(f => f.AppKey) - .Terms(AppKey)), + .Terms(appKey)), mu => mu .Terms(t => t .Field(f => f.TrackTime) diff --git a/src/TrackCenter.Repository/Repositories/TrackPullConfigRepository.cs b/src/TrackCenter.Repository/Repositories/TrackPullConfigRepository.cs index 825f5d0c..4c37c2ce 100644 --- a/src/TrackCenter.Repository/Repositories/TrackPullConfigRepository.cs +++ b/src/TrackCenter.Repository/Repositories/TrackPullConfigRepository.cs @@ -1,12 +1,10 @@ using System.Linq.Expressions; using Fake.Domain.Entities.Auditing; -using InterfaceForward.Domain.Shared.Helpers; using TrackCenter.Domain.Aggregates.TrackContentAggregate; using TrackCenter.Domain.Aggregates.TrackPullAggregate; using TrackCenter.Domain.Aggregates.TrackStatusAggregate; using TrackCenter.Domain.Dtos.Common; using TrackCenter.Domain.Dtos.TrackPull; -using TrackCenter.Domain.Enums; using TrackCenter.Domain.VEntities; namespace TrackCenter.Repository.Repositories; @@ -39,17 +37,14 @@ public class TrackPullConfigRepository : BasicRepository, { return await Context.Queryable() .InnerJoin((pullContent, trackContent) => pullContent.TrackContentId == trackContent.Id) - .LeftJoin((pullContent, trackContent, enumValue) => - enumValue.Property == EnumPropertyEnums.轨迹发生地.GetDescription() && - pullContent.TrackPlaceValue == enumValue.Enumkey) .Where(pullContent => pullContent.TrackPullConfigId == input.TrackPullConfigId) .OrderBy(pullContent => pullContent.CreateTime) .Select( - (pullContent, trackContent, enumValue) => + (pullContent, trackContent) => new GetTrackPullContentPageOutputVO { Id = pullContent.Id, - TrackPlaceValue = enumValue.Disp + TrackPlaceValue = pullContent.TrackPlaceValue }, true) .ToPagedListAsync(input.PageIndex, input.PageSize); } diff --git a/src/TrackCenter.Repository/Repositories/TrackPushConfigRepository.cs b/src/TrackCenter.Repository/Repositories/TrackPushConfigRepository.cs index 9d11bbc9..da51e968 100644 --- a/src/TrackCenter.Repository/Repositories/TrackPushConfigRepository.cs +++ b/src/TrackCenter.Repository/Repositories/TrackPushConfigRepository.cs @@ -1,6 +1,5 @@ using System.Linq.Expressions; using Fake.Domain.Entities.Auditing; -using InterfaceForward.Domain.Shared.Helpers; using TrackCenter.Domain.Aggregates.TrackContentAggregate; using TrackCenter.Domain.Aggregates.TrackPushAggregate; using TrackCenter.Domain.Dtos.Common; @@ -17,21 +16,19 @@ public class TrackPushConfigRepository : BasicRepository, { return await AsQueryable() .LeftJoin((trackPush, system) => trackPush.AppKey == system.AppKey && !system.IsDeleted) - .LeftJoin((trackPush, system, externalSubject) => - trackPush.CustomId == externalSubject.Id && !externalSubject.IsDeleted) .Filter(null, true) .Where(trackPush => !trackPush.IsDeleted) .WhereIF(!input.AppKey.IsNullOrWhiteSpace(), trackPush => trackPush.AppKey == input.AppKey) .WhereIF(!input.Keywords.IsNullOrWhiteSpace(), - (trackPush, system, externalSubject) => externalSubject.Abbreviation.Contains(input.Keywords!) || - externalSubject.Name.Contains(input.Keywords!)) + (trackPush, system) => trackPush.Customer.Contains(input.Keywords!) || + trackPush.Customer.Contains(input.Keywords!)) .OrderByDescending(trackPush => trackPush.CreateTime) - .Select((trackPush, system, externalSubject) => new GetTrackPushConfigPageOutputVO + .Select((trackPush, system) => new GetTrackPushConfigPageOutputVO { Id = trackPush.Id, AppKey = system.AppKey, - App = system.Name, - CustomName = externalSubject.Abbreviation, + AppName = system.Name, + Customer = trackPush.Customer, CreateTime = trackPush.CreateTime }) .ToPagedListAsync(input.PageIndex, input.PageSize); @@ -42,18 +39,15 @@ public class TrackPushConfigRepository : BasicRepository, { return await Context.Queryable() .InnerJoin((pushContent, trackContent) => pushContent.TrackContentId == trackContent.Id) - .LeftJoin((pushContent, trackContent, enumValue) => - enumValue.Property == EnumPropertyEnums.单号类型.GetDescription() && - pushContent.OrderNoType == enumValue.Enumkey && !enumValue.IsDeleted) .Where(pushContent => pushContent.TrackPushConfigId == input.TrackPushConfigId) .WhereIF(input.OrderNoType.HasValue, pushContent => pushContent.OrderNoType == input.OrderNoType) .OrderBy(pushContent => pushContent.Sort) .Select( - (pushContent, trackContent, enumValue) => new GetTrackPushContentPageOutputVO + (pushContent, trackContent) => new GetTrackPushContentPageOutputVO { Id = pushContent.Id, Sort = pushContent.Sort, - OrderNoType = enumValue.Disp, + OrderNoType = pushContent.OrderNoType, ContentId = pushContent.TrackContentId, }, true) .ToPagedListAsync(input.PageIndex, input.PageSize); @@ -63,17 +57,15 @@ public class TrackPushConfigRepository : BasicRepository, { return await AsQueryable() .LeftJoin((trackPush, system) => trackPush.AppKey == system.AppKey && !system.IsDeleted) - .LeftJoin((trackPush, system, externalSubject) => - trackPush.CustomId == externalSubject.Id && !externalSubject.IsDeleted) .Filter(null, true) .Where(trackPush => trackPush.Id == id && !trackPush.IsDeleted) .Select( - (trackPush, system, externalSubject) => new GetTrackPushConfigDetailOutputVO + (trackPush, system) => new GetTrackPushConfigDetailOutputVO { Id = trackPush.Id, App = system.Name, AppKey = system.AppKey, - CustomName = externalSubject.Abbreviation, + Customer = trackPush.Customer, ServiceProviderCode = trackPush.ServiceProviderCode, DateTimeFormat = trackPush.DateTimeFormat, DateTimeFormatType = @@ -191,7 +183,7 @@ public class TrackPushConfigRepository : BasicRepository, .LeftJoin((a, b) => a.Id == b.TrackPushConfigId && !b.IsDeleted) .LeftJoin((a, b, c) => b.TrackContentId == c.Id && !c.IsDeleted) .Where((a, b, c) => !a.IsDeleted) - .Where((a, b, c) => a.AppKey == input.AppKey && a.CustomId == input.CustomerId) + .Where((a, b, c) => a.AppKey == input.AppKey && a.Customer == input.Customer) .Select((a, b, c) => new QueryTrackPullMappingsInfoVO { Code = c.Code, @@ -206,12 +198,12 @@ public class TrackPushConfigRepository : BasicRepository, return result; } - public async Task> GetTrackPushContentListAsync(string appKey, int customerId) + public async Task> GetTrackPushContentListAsync(string appKey, string customer) { return await Context.Queryable() .LeftJoin((a, b) => a.Id == b.TrackPushConfigId) .LeftJoin((a, b, c) => b.TrackContentId == c.Id) - .Where(a => a.AppKey == appKey && a.CustomId == customerId) + .Where(a => a.AppKey == appKey && a.Customer == customer) .OrderBy((a, b) => b.Sort) .Select((a, b, c) => new GetTrackPushContentListVo { @@ -225,22 +217,4 @@ public class TrackPushConfigRepository : BasicRepository, }) .ToListAsync(); } - - public async Task GetServiceCodeByCustomerIdAsync(int customerId) - { - return await Context.Queryable() - .Where(x => x.Id == customerId) - .Select(x => x.ApiServiceCode) - .FirstAsync(); - } - - public async Task> GetConfigTags(GetConfigTagsInputVO input) - { - var orderTypes = await Context.Queryable() - .Where(x => x.TrackPushConfigId == input.TrackPushConfigId) - .Select(x => x.OrderNoType) - .ToListAsync(); - - return new HashSet(orderTypes); - } } diff --git a/src/TrackCenter.Repository/Repositories/TrackStatusRepository.cs b/src/TrackCenter.Repository/Repositories/TrackStatusRepository.cs index 22c18d1b..e11b260a 100644 --- a/src/TrackCenter.Repository/Repositories/TrackStatusRepository.cs +++ b/src/TrackCenter.Repository/Repositories/TrackStatusRepository.cs @@ -1,7 +1,6 @@ using TrackCenter.Domain.Aggregates.TrackNodeAggregate; using TrackCenter.Domain.Aggregates.TrackStatusAggregate; using TrackCenter.Domain.Dtos.TrackStatus; -using TrackCenter.Domain.VEntities; namespace TrackCenter.Repository.Repositories; diff --git a/src/TrackCenter.Repository/Repositories/WarningDetailsEsRepository.cs b/src/TrackCenter.Repository/Repositories/WarningDetailsEsRepository.cs index 92b2b54a..3fd3d3c5 100644 --- a/src/TrackCenter.Repository/Repositories/WarningDetailsEsRepository.cs +++ b/src/TrackCenter.Repository/Repositories/WarningDetailsEsRepository.cs @@ -31,7 +31,8 @@ public class WarningDetailsEsRepository : IWarningDetailsEsRepository, ITransien .CreateListWrapper(input); // 精确匹配 - musts.AddIf(x => x.CustomId > 0, c => c.Term(f => f.CustomId, input.CustomId)); + musts.AddIf(x => !string.IsNullOrWhiteSpace(x.Customer), + c => c.Match(f => f.Field(d => d.Customer).Query(input.Customer))); musts.AddIf(x => x.OrderNos?.Count > 0, c => c.Terms(f => f.Field(d => d.OrderNo.Suffix("keyword")).Terms(input.OrderNos))); musts.AddIf(x => x.OrderType > 0, c => c.Term(f => f.OrderType, input.OrderType)); @@ -158,7 +159,7 @@ public class WarningDetailsEsRepository : IWarningDetailsEsRepository, ITransien //detail.NotifyModes, detail.NotifyUsers, detail.AppKey, - detail.CustomId, + detail.Customer, detail.OrderId, detail.OrderNo, detail.OrderType, @@ -208,7 +209,7 @@ public class WarningDetailsEsRepository : IWarningDetailsEsRepository, ITransien //ctx._source.notifyModes = params.NotifyModes; ctx._source.notifyUsers = params.NotifyUsers; ctx._source.AppKey = params.AppKey; - ctx._source.customId = params.CustomId; + ctx._source.customer = params.Customer; ctx._source.customName = params.CustomName; ctx._source.orderId = params.OrderId; ctx._source.orderNo = params.OrderNo; @@ -242,7 +243,7 @@ public class WarningDetailsEsRepository : IWarningDetailsEsRepository, ITransien //.Add("NotifyModes", detail.NotifyModes) .Add("NotifyUsers", detail.NotifyUsers) .Add("AppKey", detail.AppKey) - .Add("CustomId", detail.CustomId) + .Add("Customer", detail.Customer) .Add("OrderId", detail.OrderId) .Add("OrderNo", detail.OrderNo) .Add("OrderType", detail.OrderType) @@ -359,7 +360,6 @@ public class WarningDetailsEsRepository : IWarningDetailsEsRepository, ITransien c => c.Terms(f => f.Field(d => d.OrderNo.Suffix("keyword")).Terms(input.OrderNos))); musts.AddIf(x => x.OrderType > 0, c => c.Term(f => f.OrderType, input.OrderType)); musts.AddIf(x => x.Status > 0, c => c.Term(f => f.Status, input.Status)); - musts.AddIf(x => x.CustomId > 0, c => c.Term(f => f.CustomId, input.CustomId)); musts.AddIf(x => x.TrackStatusId > 0, c => c.Term(f => f.TrackStatusId, input.TrackStatusId)); musts.AddIf(x => x.TrackContentId > 0, c => c.Term(f => f.TrackContentId, input.TrackContentId)); musts.AddIf(x => x.IsKpi.HasValue, c => c.Term(f => f.IsExistsKpi, input.IsKpi!.Value)); @@ -383,6 +383,8 @@ public class WarningDetailsEsRepository : IWarningDetailsEsRepository, ITransien // 模糊匹配userId(json字符串包含userId) musts.AddIf(x => x.NotifyUserId.HasValue, c => c.Match(f => f.Field(d => d.NotifyUsers).Query(input.NotifyUserId.ToString()))); + musts.AddIf(x => !string.IsNullOrWhiteSpace(x.Customer), + c => c.Match(f => f.Field(d => d.Customer).Query(input.Customer))); var r = await _client.SearchAsync(x => x .Index(GlobalConst.ReturnWarningDetailsIndex) @@ -513,7 +515,7 @@ public class WarningDetailsEsRepository : IWarningDetailsEsRepository, ITransien //detail.NotifyModes, detail.NotifyUsers, detail.AppKey, - detail.CustomId, + detail.Customer, detail.OrderId, detail.OrderNo, detail.OrderType, @@ -565,7 +567,7 @@ public class WarningDetailsEsRepository : IWarningDetailsEsRepository, ITransien //ctx._source.notifyModes = params.NotifyModes; ctx._source.notifyUsers = params.NotifyUsers; ctx._source.AppKey = params.AppKey; - ctx._source.customId = params.CustomId; + ctx._source.customer = params.Customer; ctx._source.orderId = params.OrderId; ctx._source.orderNo = params.OrderNo; ctx._source.orderType = params.OrderType; @@ -601,7 +603,7 @@ public class WarningDetailsEsRepository : IWarningDetailsEsRepository, ITransien //.Add("NotifyModes", detail.NotifyModes) .Add("NotifyUsers", detail.NotifyUsers) .Add("AppKey", detail.AppKey) - .Add("CustomId", detail.CustomId) + .Add("Customer", detail.Customer) .Add("OrderId", detail.OrderId) .Add("OrderNo", detail.OrderNo) .Add("OrderType", detail.OrderType) @@ -741,7 +743,6 @@ public class WarningDetailsEsRepository : IWarningDetailsEsRepository, ITransien c => c.Terms(f => f.Field(d => d.OrderNo.Suffix("keyword")).Terms(input.OrderNos))); musts.AddIf(x => x.OrderType > 0, c => c.Term(f => f.OrderType, input.OrderType)); musts.AddIf(x => x.Status > 0, c => c.Term(f => f.Status, input.Status)); - musts.AddIf(x => x.CustomId > 0, c => c.Term(f => f.CustomId, input.CustomId)); musts.AddIf(x => x.WarningCreateTimeStart.HasValue, c => c.DateRange(r => r.Field(f => f.CreateTime).GreaterThanOrEquals(input.WarningCreateTimeStart))); musts.AddIf(x => x.WarningCreateTimeEnd.HasValue, @@ -754,6 +755,11 @@ public class WarningDetailsEsRepository : IWarningDetailsEsRepository, ITransien // 模糊匹配userId musts.AddIf(x => x.NotifyUserId.HasValue, c => c.Match(f => f.Field(d => d.NotifyUsers).Query(input.NotifyUserId.ToString()))); + + musts.AddIf(x => !string.IsNullOrWhiteSpace(x.Customer), + c => c.Match(f => f.Field(d => d.Customer).Query(input.Customer))); + + // 匹配缺失轨迹状态 musts.AddIf(x => x.MissingTrackStatusId > 0, c => c.Script(s => s.Script(a => a .Source("doc['missingTrackStatusIds.keyword'].value.contains(params.value)") @@ -901,7 +907,7 @@ public class WarningDetailsEsRepository : IWarningDetailsEsRepository, ITransien detail.CheckPointTrackStatusId, detail.MissingTrackStatusIds, detail.AppKey, - detail.CustomId, + detail.Customer, detail.OrderId, detail.OrderNo, detail.OrderType, @@ -934,7 +940,7 @@ public class WarningDetailsEsRepository : IWarningDetailsEsRepository, ITransien ctx._source.checkPointTrackStatusId = params.CheckPointTrackStatusId; ctx._source.missingTrackStatusIds = params.MissingTrackStatusIds; ctx._source.AppKey = params.AppKey; - ctx._source.customId = params.CustomId; + ctx._source.customer = params.Customer; ctx._source.orderId = params.OrderId; ctx._source.orderNo = params.OrderNo; ctx._source.orderType = params.OrderType; @@ -951,7 +957,7 @@ public class WarningDetailsEsRepository : IWarningDetailsEsRepository, ITransien .Add("CheckPointTrackStatusId", detail.CheckPointTrackStatusId) .Add("MissingTrackStatusIds", detail.MissingTrackStatusIds) .Add("AppKey", detail.AppKey) - .Add("CustomId", detail.CustomId) + .Add("Customer", detail.Customer) .Add("OrderId", detail.OrderId) .Add("OrderNo", detail.OrderNo) .Add("OrderType", detail.OrderType) diff --git a/src/TrackCenter.Repository/Repositories/WarningRuleRepository.cs b/src/TrackCenter.Repository/Repositories/WarningRuleRepository.cs index 8b4b006d..a8e5a24e 100644 --- a/src/TrackCenter.Repository/Repositories/WarningRuleRepository.cs +++ b/src/TrackCenter.Repository/Repositories/WarningRuleRepository.cs @@ -13,11 +13,11 @@ public class WarningRuleRepository : BasicRepository, IWarnin { #region 规则主体 - public async Task CheckNameDuplicateAsync(int id, string appKey, int customId, string name, WarningRuleType warningType) + public async Task CheckNameDuplicateAsync(int id, string appKey, string customer, string name, WarningRuleType warningType) { var entity = await Context.Queryable() .Where(x => x.AppKey == appKey - && x.CustomId == customId + && x.Customer == customer && x.WarningType == (int) warningType && string.Equals(x.Name, name)) .FirstAsync(); @@ -30,11 +30,11 @@ public class WarningRuleRepository : BasicRepository, IWarnin return entity.Id != id; } - public async Task CheckEnableDuplicateAsync(int warningId, string appKey, int customId, WarningRuleType warningType) + public async Task CheckEnableDuplicateAsync(int warningId, string appKey, string customer, WarningRuleType warningType) { var entity = await Context.Queryable() .Where(x => x.AppKey == appKey - && x.CustomId == customId + && x.Customer == customer && x.WarningType == (int) warningType && x.IsEnabled) .FirstAsync(); @@ -76,10 +76,10 @@ public class WarningRuleRepository : BasicRepository, IWarnin return version; } - public Task> GetWarningRuleListAsync(string? appKey, int? customId, string? kpiname, bool? isEnabled, int? warningType) + public Task> GetWarningRuleListAsync(string? appKey, string? customer, string? kpiname, bool? isEnabled, int? warningType) { return Context.Queryable() - .WhereIF(customId.HasValue, x => x.CustomId == customId!.Value) + .WhereIF(!customer.IsNullOrWhiteSpace(), x => x.Customer.Contains(customer!)) .WhereIF(!appKey.IsNullOrWhiteSpace(), x => x.AppKey == appKey) .WhereIF(warningType.HasValue, x => x.WarningType == warningType!.Value) .WhereIF(isEnabled.HasValue, x => x.IsEnabled == isEnabled!.Value) @@ -87,10 +87,10 @@ public class WarningRuleRepository : BasicRepository, IWarnin .ToListAsync(); } - public async Task GetWarningRuleForEnabledAsync(string appKey, int customId, WarningRuleType warningType) + public async Task GetWarningRuleForEnabledAsync(string appKey, string customer, WarningRuleType warningType) { var warningRules = await Context.Queryable() - .Where(x => x.CustomId == customId + .Where(x => x.Customer == customer && x.AppKey == appKey && x.WarningType == (int) warningType && x.IsEnabled @@ -100,13 +100,13 @@ public class WarningRuleRepository : BasicRepository, IWarnin return warningRules.FirstOrDefault(); } - public async Task> GetWarningRuleForEnabledAsync(HashSet<(string AppKey, int CustomId)> conditions, WarningRuleType warningType) + public async Task> GetWarningRuleForEnabledAsync(HashSet<(string AppKey, string Customer)> conditions, WarningRuleType warningType) { Expression> baseExp = x => x.WarningType == (int) warningType && x.IsEnabled; var exp = Expressionable.Create(); foreach (var condition in conditions) - exp.Or(x => x.CustomId == condition.CustomId && x.AppKey == condition.AppKey); + exp.Or(x => x.Customer == condition.Customer && x.AppKey == condition.AppKey); var list = await Context.Queryable() .Where(baseExp.And(exp.ToExpression()))