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