using System.ComponentModel.DataAnnotations; namespace SJZY.Track.Application.Contract.Dtos.ProvideServices; public class BatchUpsertTrackInput : OrderNosInfo { /// /// true新增,false更新 /// public bool IsAdd { get; set; } /// /// 轨迹内容代码 /// [Required] [MaxLength(50)] public string TrackCode { get; set; } = null!; /// /// 轨迹发生地 /// [Required] [MaxLength(200)] public string TrackPlace { get; set; } = null!; /// /// 轨迹发生时间 /// [Required] public DateTime TrackTime { get; set; } /// /// 更改后的轨迹发生时间,无需更改保持为空 /// public DateTime? NewTrackTime { get; set; } /// /// 轨迹发生时区 /// // [Required] // [Range(-12, 12)] public float TrackTimeZone { get; set; } /// /// 客户是否可见 /// [Required] public bool IsVisibility { get; set; } /// /// 数据来源:1外部服务商创建,2内部系统创建,3人工创建 /// 批量新增时使用指定轨迹来源,更新时无需指定 /// [Required] public int Source { get; set; } /// /// 轨迹备注 /// public string? Remarks { get; set; } /// /// 附件集合 /// public List? Files { get; set; } /// /// 轨迹内容,若为空则取轨迹内容表中该轨迹Code对应的轨迹内容 /// public string? Content { get; set; } /// /// 轨迹内容英文,若为空则取轨迹内容表中该轨迹Code对应的轨迹英文内容 /// public string? EnStatus { 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; } /// /// 目的地时区 /// [Range(-12, 12)] public float? DestinationTimeZone { get; set; } /// /// 扩展信息字段,用与轨迹推送的附加字段 /// public Dictionary? Extra { get; set; } /// /// 是否强制推送 /// public bool ForcedPush { get; set; } /// /// 指定是否推送 /// public bool IsToMq { get; set; } }