namespace SJZY.Track.Domain.Aggregates.OrderAggregate;
///
/// 轨迹订单主表
///
[SugarTable("t_order")]
public class OrderEntity : IFullAuditedBasicEntitys, IAggregateRoot
{
///
/// 自增主键
///
[SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true)]
public int Id { get; set; }
///
/// 订单号
///
[SugarColumn(ColumnName = "OrderNo")]
public string OrderNo { get; set; } = null!;
///
/// 订单类型(主数据枚举TrackOrderType)
///
[SugarColumn(ColumnName = "OrderType")]
public int OrderType { get; set; }
///
/// 子系统id
///
[SugarColumn(ColumnName = "SubSystemId")]
public int SubSystemId { get; set; }
///
/// 客户id(外部主体id)
///
[SugarColumn(ColumnName = "CustomId")]
public int CustomId { get; set; }
///
/// 订单是否完结(异步维护)
///
[SugarColumn(ColumnName = "IsCompleted")]
public bool IsCompleted { get; set; }
///
/// 最新推送轨迹code(异步维护)
///
[SugarColumn(ColumnName = "LatestPushTrackCode")]
public string? LatestPushTrackCode { get; set; }
///
/// 最新推送时间(异步维护)
///
[SugarColumn(ColumnName = "LatestPushTime")]
public DateTime? LatestPushTime { get; set; }
///
/// 推送异常信息
///
[SugarColumn(ColumnName = "LatestPushError")]
public string? LatestPushError { get; set; }
///
/// 最新轨迹内容(异步维护)
///
[SugarColumn(ColumnName = "LatestTrackContent")]
public string? LatestTrackContent { get; set; }
///
/// 最新轨迹内容英文(异步维护)
///
[SugarColumn(ColumnName = "LatestTrackEnContent")]
public string? LatestTrackEnContent { get; set; }
///
/// 最新轨迹时间(异步维护)
///
[SugarColumn(ColumnName = "LatestTrackTime")]
public DateTime? LatestTrackTime { get; set; }
///
/// 最新轨迹时区(异步维护)
///
[SugarColumn(ColumnName = "LatestTrackTimeZone")]
public float? LatestTrackTimeZone { get; set; }
///
/// 最新轨迹发生地(异步维护)
///
[SugarColumn(ColumnName = "LatestTrackPlace")]
public string? LatestTrackPlace { get; set; }
///
/// 目的城市
///
[SugarColumn(ColumnName = "ArrivalCity")]
public string ArrivalCity { get; set; } = null!;
///
/// 目的国家
///
[SugarColumn(ColumnName = "ArrivalCountry")]
public string ArrivalCountry { get; set; } = null!;
///
/// 目的港口
///
[SugarColumn(ColumnName = "ArrivalPort")]
public string? ArrivalPort { get; set; }
///
/// 起运城市
///
[SugarColumn(ColumnName = "LeaveCity")]
public string LeaveCity { get; set; } = null!;
///
/// 起运国家
///
[SugarColumn(ColumnName = "LeaveCountry")]
public string LeaveCountry { get; set; } = null!;
///
/// 问题类型(主数据枚举TrackQuestionType)
///
[SugarColumn(ColumnName = "QuestionType")]
public int QuestionType { get; set; }
///
/// 起运港口
///
[SugarColumn(ColumnName = "LeavePort")]
public string? LeavePort { get; set; }
///
/// 货物类型
///
[SugarColumn(ColumnName = "CargoType")]
public string? CargoType { get; set; }
///
/// 是否中转
///
[SugarColumn(ColumnName = "IsTransit")]
public bool? IsTransit { get; set; }
///
/// 产品编码
///
[SugarColumn(ColumnName = "ProductCode")]
public string? ProductCode { get; set; }
///
/// 时区缺失和发生地缺失标记,1表示时区,2表示发生地,3表示两种
///
[SugarColumn(ColumnName = "DeficiencyTag")]
public int? DeficiencyTag { get; set; }
///
/// 到达邮编
///
[SugarColumn(ColumnName = "ArrivalPostCode")]
public string? ArrivalPostCode { get; set; }
///
/// 到达州省
///
[SugarColumn(ColumnName = "ArrivalProvince")]
public string? ArrivalProvince { get; set; }
///
/// 预计到达时间
///
[SugarColumn(ColumnName = "EstimatedDeliveryDate")]
public DateTime? EstimatedDeliveryDate { get; set; }
///
/// 目的地时区
///
[SugarColumn(ColumnName = "DestinationTimeZone")]
public float? DestinationTimeZone { get; set; }
///
/// 模板code
///
[SugarColumn(ColumnName = "TemplateCodes")]
public string? TemplateCodes { get; set; }
[SugarColumn(IsIgnore = true)]
public List OrderFlights { get; set; }
[SugarColumn(IsIgnore = true)]
public List OrderPullStatus { get; set; }
[Navigate(NavigateType.OneToMany, nameof(OrderPlatformNumberEntity.OrderId))]
[SugarColumn(IsIgnore = true)]
public List OrderPlatformNumbers { get; set; }
public void ResetTrackInfo()
{
IsCompleted = false;
LatestTrackContent = null;
LatestTrackEnContent = null;
LatestTrackTime = null;
LatestTrackPlace = null;
LatestTrackTimeZone = null;
EstimatedDeliveryDate = null;
DestinationTimeZone = null;
}
}