From eee75e526157d1cc7fafbf91492fdc69c73ed9ca Mon Sep 17 00:00:00 2001 From: hardstylewyl <827778732@qq.com> Date: Tue, 17 Dec 2024 16:55:52 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=A0=B9=E6=8D=AEEsId?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E8=BD=A8=E8=BF=B9=EF=BC=8C=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E4=B8=BB=E8=A1=A8=E5=9B=9E=E9=80=80=E6=9B=B4=E6=96=B0=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=20update:=20=E8=BD=A8=E8=BF=B9=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A4=84=E7=90=86=E5=A2=9E=E5=8A=A0=E6=89=A9?= =?UTF-8?q?=E5=B1=95=E5=AD=97=E6=AE=B5=E5=AD=98=E5=82=A8=20update-models:?= =?UTF-8?q?=20=20-=20=E5=A2=9E=E5=8A=A0=E6=89=A9=E5=B1=95=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=EF=BC=8C=E6=B6=89=E5=8F=8A=E3=80=90=E8=BD=A8=E8=BF=B9?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E3=80=91=E3=80=90=E8=BD=A8=E8=BF=B9=E5=8F=98?= =?UTF-8?q?=E6=9B=B4=E3=80=91=20=20-=20=E6=89=A9=E5=B1=95=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E9=80=9A=E9=85=8D=E7=BD=AE=E6=A8=A1=E5=9E=8B=EF=BC=8C?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AD=97=E6=AE=B5=E8=BD=A8=E8=BF=B9=E6=8E=A8?= =?UTF-8?q?=E9=80=81=E6=8E=A5=E5=8F=A3Id=EF=BC=8C=E8=BD=A8=E8=BF=B9?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E5=86=85=E5=AE=B9=E9=A1=B9=E5=88=AB=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Dtos/ProvideServices/GetTrackOutput.cs | 1 - .../Dtos/TrackPush/TrackPushInput.cs | 6 +- .../Events/TrackChangeEto.cs | 5 + .../Events/TrackPushEto.cs | 159 ++++++++++++++++++ .../Events/TrackPushEvent.cs | 5 + .../EventHandlers/TrackDeleteEventHandler.cs | 3 +- .../InterfaceRelayParamsConfigOptions.cs | 10 ++ .../Enums/TrackSourceEnum.cs | 12 +- 8 files changed, 191 insertions(+), 10 deletions(-) create mode 100644 src/SJZY.Track.Application.Contract/Events/TrackPushEto.cs diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetTrackOutput.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetTrackOutput.cs index 7af8aabd..59a4065e 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetTrackOutput.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetTrackOutput.cs @@ -91,7 +91,6 @@ public class TrackDetail /// public string? TrackPlacePostcode { get; set; } - /// /// 预计到达时间 /// diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushInput.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushInput.cs index 45047f0a..e650d04a 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushInput.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushInput.cs @@ -4,7 +4,8 @@ public class TrackPushInput { public string OrderNo { get; set; } = null!; - public List Data { get; set; } = new(); + //原TrackItem,为了扩展字段入参变更为字典 + public List> Data { get; set; } = new(); public string Log { get; set; } } @@ -13,7 +14,8 @@ public class TrackUpdateInput { public string OrderNo { get; set; } = null!; - public List Data { get; set; } = new(); + //原TrackItem,为了扩展字段入参变更为字典 + public List> Data { get; set; } = new(); public string Log { get; set; } } diff --git a/src/SJZY.Track.Application.Contract/Events/TrackChangeEto.cs b/src/SJZY.Track.Application.Contract/Events/TrackChangeEto.cs index f2eb4fe9..5f49e9ff 100644 --- a/src/SJZY.Track.Application.Contract/Events/TrackChangeEto.cs +++ b/src/SJZY.Track.Application.Contract/Events/TrackChangeEto.cs @@ -128,4 +128,9 @@ public class TrackChangeEto /// 预计到达时间 /// public DateTime? EstimatedDeliveryDate { get; set; } + + /// + /// 扩展信息字段,用与轨迹推送的附加字段 + /// + public Dictionary? Extra { get; set; } } diff --git a/src/SJZY.Track.Application.Contract/Events/TrackPushEto.cs b/src/SJZY.Track.Application.Contract/Events/TrackPushEto.cs new file mode 100644 index 00000000..3c7bdffd --- /dev/null +++ b/src/SJZY.Track.Application.Contract/Events/TrackPushEto.cs @@ -0,0 +1,159 @@ +using SJZY.Track.Application.Contract.Dtos.ProvideServices; + +namespace SJZY.Track.Application.Contract.Events; + +/// +/// 轨迹推送广播模型 +/// +public class TrackPushEto +{ + /// + /// 是否新增 + /// + public OptionType Option { get; set; } + + /// + /// 是否为手动推送 + /// + public bool IsManualPush { get; set; } + + /// + /// 推送是否失败 + /// + public bool IsFailure { get; set; } + + /// + /// 失败原因 + /// + public string? FailureReason { get; set; } + + /// + /// 推送时间 + /// + public DateTime PushTime { get; set; } + + /// + /// 操作人 + /// + public string? OperationMan { get; set; } + + /// + /// 子系统id + /// + public int SubSystemId { get; set; } + + /// + /// 单号 + /// + public string OrderNo { get; set; } + + /// + /// 客户id + /// + public int CustomId { get; set; } + + /// + /// 订单id + /// + public OrderIdentifier[] OrderIdentifiers { get; set; } = null!; + + /// + /// 轨迹内容代码 + /// + public string TrackCode { get; set; } = null!; + + /// + /// 轨迹内容 + /// + public string? Content { get; set; } + + /// + /// 轨迹内容英文 + /// + public string? EnStatus { get; set; } + + /// + /// 轨迹状态代码 + /// + public string TrackStatusCode { get; set; } + + /// + /// 轨迹发生地 + /// + public string TrackPlace { get; set; } = null!; + + /// + /// 轨迹发生时间 + /// + public DateTime TrackTime { get; set; } + + /// + /// 轨迹发生地时区 + /// + public float TrackTimeZone { get; set; } + + /// + /// 客户是否可见 + /// + public bool IsVisibility { get; set; } + + /// + /// 数据来源:1外部服务商创建,2内部系统创建,3人工创建 + /// + public int Source { get; set; } + + /// + /// 轨迹备注 + /// + public string? Remarks { get; set; } + + /// + /// 附件集合 + /// + public List? Files { get; set; } + + /// + /// 轨迹发生地(城市) + /// + public string? TrackPlaceCity { get; set; } + + /// + /// 轨迹发生地(城市)Id + /// + public int? TrackPlaceCityId { get; set; } + + /// + /// 轨迹发生地(省/州) + /// + public string? TrackPlaceProvince { get; set; } + + /// + ///轨迹发生地(省/州)Id + /// + public int? TrackPlaceProvinceId { get; set; } + + /// + /// 轨迹发生地(国家/地区) + /// + public string? TrackPlaceNation { get; set; } + + /// + /// 轨迹发生地(国家/地区)Id + /// + public int? TrackPlaceNationId { get; set; } + + /// + /// 轨迹发生地邮编 + /// + public string? TrackPlacePostcode { get; set; } + + /// + /// 预计到达时间 + /// + public DateTime? EstimatedDeliveryDate { get; set; } + + /// + /// 扩展信息字段,用与轨迹推送的附加字段 + /// + public Dictionary? Extra { get; set; } +} diff --git a/src/SJZY.Track.Application.Contract/Events/TrackPushEvent.cs b/src/SJZY.Track.Application.Contract/Events/TrackPushEvent.cs index 2bc5760c..ea168d9d 100644 --- a/src/SJZY.Track.Application.Contract/Events/TrackPushEvent.cs +++ b/src/SJZY.Track.Application.Contract/Events/TrackPushEvent.cs @@ -69,4 +69,9 @@ public struct SystemPushStruct /// 轨迹发生时区 /// public float TrackTimeZone { get; set; } + + /// + /// 扩展信息字段,用与轨迹推送的附加字段 + /// + public Dictionary? Extra { get; set; } } diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackDeleteEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackDeleteEventHandler.cs index e9db1cfa..038f9499 100644 --- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackDeleteEventHandler.cs +++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackDeleteEventHandler.cs @@ -225,7 +225,8 @@ public class TrackDeleteEventHandler : ITransientDependency, ICapSubscribe } //排除掉已经删除的轨迹 - tracks = tracks.Except(deleteTracks).ToList(); + var deleteTrackIds = deleteTracks.Select(m => m.Id).ToList(); + tracks = tracks.Where(x => !deleteTrackIds.Contains(x.Id)).ToList(); var orders = await _orderRepository.GetListAsync(x => orderIds.Contains(x.Id), x => new OrderEntity diff --git a/src/SJZY.Track.Application/Options/InterfaceRelayParamsConfigOptions.cs b/src/SJZY.Track.Application/Options/InterfaceRelayParamsConfigOptions.cs index 59a6ab9c..e2a3d78e 100644 --- a/src/SJZY.Track.Application/Options/InterfaceRelayParamsConfigOptions.cs +++ b/src/SJZY.Track.Application/Options/InterfaceRelayParamsConfigOptions.cs @@ -57,6 +57,16 @@ public class InterfaceRelayParamsConfigOptions /// public string PushTrackInterfaceCode { get; set; } + /// + /// 推送轨迹接口Id + /// + public int PushTrackInterfaceId { get; set; } + + /// + /// 推送轨迹接口 内容项 参数别名前缀 + /// + public string PushTrackItemParamAliasPrefix { get; set; } + /// /// 更新轨迹接口代码 /// diff --git a/src/SJZY.Track.Domain/Enums/TrackSourceEnum.cs b/src/SJZY.Track.Domain/Enums/TrackSourceEnum.cs index 021616af..a0107979 100644 --- a/src/SJZY.Track.Domain/Enums/TrackSourceEnum.cs +++ b/src/SJZY.Track.Domain/Enums/TrackSourceEnum.cs @@ -8,17 +8,17 @@ namespace SJZY.Track.Domain.Enums; public enum TrackSourceEnum { /// - /// 外部服务商创建 + /// 外部服务商 /// - [Description("外部服务商创建")] ExternalServiceProvide = 1, + [Description("外部服务商")] ExternalServiceProvide = 1, /// - /// 内部系统创建 + /// 内部系统 /// - [Description("内部系统创建")] InternalService = 2, + [Description("内部系统")] InternalService = 2, /// - /// 人工创建 + /// 人工 /// - [Description("人工创建")] Artificial = 3, + [Description("人工")] Artificial = 3, }