using Fake.Messaging; using TrackCenter.Application.Dtos.ProvideServices; namespace TrackCenter.Application.Events; [Serializable] [MessageRoute(nameof(TrackDeleteEvent))] public class TrackDeleteEvent : Message { /// /// 根据esId定位轨迹,优先级最高 /// public string[] EsIds { get; set; } = Array.Empty(); /// /// 应用 /// public string AppKey { get; set; } /// /// 订单ids /// public int[] OrderIds { get; set; } = Array.Empty(); /// /// 重复的情况下,用什么字段比较 /// public string? CompareFields { get; set; } /// /// 重复的情况下,比较值 /// public object? CompareValue { get; set; } /// /// 删除轨迹来源 1.外部服务商 2.内部系统 3.人工 /// public int? Source { get; set; } /// /// 轨迹标识符 /// public List TrackIdentifiers { get; set; } = new(); /// /// 操作人 /// public string? OperationMan { get; set; } /// /// 操作人id /// public int OperationManId { get; set; } /// /// 已经处理过的订单 /// public List Visited { get; set; } = new(); /// /// 标记是否广播 /// public bool IsToMq { get; set; } public override string ToString() { return $"[TrackDelete by {OperationMan}] AppKey: {AppKey}, OrderIds: {string.Join(",", OrderIds)}, TrackCodes: {string.Join(",", TrackIdentifiers.Select(x => x.TrackCode))}"; } }