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))}";
}
}