176 lines
4.4 KiB
C#
176 lines
4.4 KiB
C#
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
||
|
||
namespace SJZY.Track.Application.Contract.Events;
|
||
|
||
public class TrackUpsertEvent
|
||
{
|
||
/// <summary>
|
||
/// 子系统id
|
||
/// </summary>
|
||
public int SubSystemId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 客户id
|
||
/// </summary>
|
||
public int CustomId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 订单id
|
||
/// </summary>
|
||
public OrderIdentifier[] OrderIdentifiers { get; set; } = null!;
|
||
|
||
/// <summary>
|
||
/// 轨迹唯一标识(用于单个订单更新单条轨迹,如果有的话优先级最高)
|
||
/// </summary>
|
||
public string? EsId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 操作人(null则默认系统)
|
||
/// </summary>
|
||
public string? OperationMan { get; set; }
|
||
|
||
/// <summary>
|
||
/// 操作人id
|
||
/// </summary>
|
||
public int OperationManId { get; set; }
|
||
|
||
/// <summary>
|
||
/// true新增,false更新
|
||
/// </summary>
|
||
public bool IsAdd { get; set; }
|
||
|
||
/// <summary>
|
||
/// 轨迹内容代码
|
||
/// </summary>
|
||
public string TrackCode { get; set; } = null!;
|
||
|
||
/// <summary>
|
||
/// 轨迹发生地
|
||
/// </summary>
|
||
public string TrackPlace { get; set; } = null!;
|
||
|
||
/// <summary>
|
||
/// 轨迹发生时间
|
||
/// </summary>
|
||
public DateTime TrackTime { get; set; }
|
||
|
||
/// <summary>
|
||
/// 更改后的轨迹发生时间,无需更改保持为空
|
||
/// </summary>
|
||
public DateTime? NewTrackTime { get; set; }
|
||
|
||
/// <summary>
|
||
/// 轨迹发生时区
|
||
/// </summary>
|
||
public float TrackTimeZone { get; set; }
|
||
|
||
/// <summary>
|
||
/// 已经处理过的订单
|
||
/// </summary>
|
||
public List<int> Visited { get; set; } = new();
|
||
|
||
public TrackRefreshStruct TrackRefreshData { get; set; }
|
||
|
||
/// <summary>
|
||
/// 客户是否可见
|
||
/// </summary>
|
||
public bool IsVisibility { get; set; }
|
||
|
||
/// <summary>
|
||
/// 数据来源:1外部服务商创建,2内部系统创建,3人工创建
|
||
/// </summary>
|
||
public int Source { get; set; }
|
||
|
||
/// <summary>
|
||
/// 轨迹备注
|
||
/// </summary>
|
||
public string? Remarks { get; set; }
|
||
|
||
/// <summary>
|
||
/// 附件集合
|
||
/// </summary>
|
||
public List<FileItemDto>? Files { get; set; }
|
||
|
||
/// <summary>
|
||
/// 轨迹内容,若为空则取轨迹内容表中该轨迹Code对应的轨迹内容
|
||
/// </summary>
|
||
public string? Content { get; set; }
|
||
|
||
/// <summary>
|
||
/// 轨迹内容英文,若为空则取轨迹内容表中该轨迹Code对应的轨迹英文内容
|
||
/// </summary>
|
||
public string? EnStatus { get; set; }
|
||
|
||
/// <summary>
|
||
/// 轨迹发生地(城市)
|
||
/// </summary>
|
||
public string? TrackPlaceCity { get; set; }
|
||
|
||
/// <summary>
|
||
/// 轨迹发生地(城市)Id
|
||
/// </summary>
|
||
public int? TrackPlaceCityId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 轨迹发生地(省/州)
|
||
/// </summary>
|
||
public string? TrackPlaceProvince { get; set; }
|
||
|
||
/// <summary>
|
||
///轨迹发生地(省/州)Id
|
||
/// </summary>
|
||
public int? TrackPlaceProvinceId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 轨迹发生地(国家/地区)
|
||
/// </summary>
|
||
public string? TrackPlaceNation { get; set; }
|
||
|
||
/// <summary>
|
||
/// 轨迹发生地(国家/地区)Id
|
||
/// </summary>
|
||
public int? TrackPlaceNationId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 轨迹发生地邮编
|
||
/// </summary>
|
||
public string? TrackPlacePostcode { get; set; }
|
||
|
||
/// <summary>
|
||
/// 预计到达时间
|
||
/// </summary>
|
||
public DateTime? EstimatedDeliveryDate { get; set; }
|
||
|
||
/// <summary>
|
||
/// 目的地时区
|
||
/// </summary>
|
||
public float? DestinationTimeZone { get; set; }
|
||
|
||
/// <summary>
|
||
/// 重复的情况下,用什么比较
|
||
/// </summary>
|
||
public string? CompareFields { get; set; }
|
||
|
||
/// <summary>
|
||
/// 扩展信息字段,用与轨迹推送的附加字段
|
||
/// </summary>
|
||
public string? Extra { get; set; }
|
||
|
||
/// <summary>
|
||
/// 是否强制推送
|
||
/// </summary>
|
||
public bool ForcedPush { get; set; }
|
||
|
||
/// <summary>
|
||
/// 指定是否推送
|
||
/// </summary>
|
||
public bool IsToMq { get; set; }
|
||
|
||
public override string ToString()
|
||
{
|
||
return
|
||
$"[{(IsAdd ? "TrackInsert" : "TrackUpdate")} by {OperationMan}] SubSystemId: {SubSystemId}, OrderIds: {string.Join(",",
|
||
OrderIdentifiers.Select(x => x.OrderId))}, TrackCode: {TrackCode}, TrackPlace: {TrackPlace}, TrackTime: {TrackTime}";
|
||
}
|
||
}
|