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,
}