using MediatR; using TakeoutSaaS.Application.App.Deliveries.Dto; using TakeoutSaaS.Domain.Deliveries.Enums; namespace TakeoutSaaS.Application.App.Deliveries.Commands; /// /// 创建配送单命令。 /// public sealed class CreateDeliveryOrderCommand : IRequest { /// /// 订单 ID。 /// public long OrderId { get; set; } /// /// 服务商。 /// public DeliveryProvider Provider { get; set; } = DeliveryProvider.InHouse; /// /// 第三方单号。 /// public string? ProviderOrderId { get; set; } /// /// 状态。 /// public DeliveryStatus Status { get; set; } = DeliveryStatus.Pending; /// /// 配送费。 /// public decimal? DeliveryFee { get; set; } /// /// 骑手姓名。 /// public string? CourierName { get; set; } /// /// 骑手电话。 /// public string? CourierPhone { get; set; } /// /// 下发时间。 /// public DateTime? DispatchedAt { get; set; } /// /// 取餐时间。 /// public DateTime? PickedUpAt { get; set; } /// /// 完成时间。 /// public DateTime? DeliveredAt { get; set; } /// /// 异常原因。 /// public string? FailureReason { get; set; } }