using YD_Event.Core.Enum;
namespace YD_Event.Application.Order.Dtos;
///
/// 订单列表输出
///
public class OrderListOutput
{
///
/// 订单ID
///
public long Id { get; set; }
///
/// 订单编号
///
public string OrderNo { get; set; }
///
/// 单位名称
///
public string UnitName { get; set; }
///
/// 赛事名称
///
public string EventName { get; set; }
///
/// 订单类型
///
public string OrderType { get; set; }
///
/// 关联订单号
///
public string RelatedOrderNo { get; set; }
///
/// 支付方式
///
public string PaymentMethod { get; set; }
///
/// 具体支付方式
///
public PaymentMethodType PaymentMethodType { get; set; }
///
/// 具体支付方式文本
///
public string PaymentMethodTypeText { get; set; }
///
/// 支付凭证URL
///
public string PaymentProofUrl { get; set; }
///
/// 报名模式
///
public string RegistrationMode { get; set; }
///
/// 联系人姓名
///
public string ContactName { get; set; }
///
/// 联系人电话
///
public string ContactPhone { get; set; }
///
/// 原始金额
///
public decimal OriginalAmount { get; set; }
///
/// 优惠金额
///
public decimal DiscountAmount { get; set; }
///
/// 实际金额
///
public decimal ActualAmount { get; set; }
///
/// 订单状态
///
public OrderStatus OrderStatus { get; set; }
///
/// 订单状态文本
///
public string OrderStatusText { get; set; }
///
/// 创建时间
///
public DateTime CreatedTime { get; set; }
///
/// 支付时间
///
public DateTime? PaymentTime { get; set; }
///
/// 退款金额
///
public decimal? RefundAmount { get; set; }
///
/// 退款时间
///
public DateTime? RefundTime { get; set; }
///
/// 关联原始订单的实付金额(仅退款订单时有效)
///
public decimal? RelatedOrderActualAmount { get; set; }
///
/// 是否为退款订单
///
public bool IsRefundOrder { get; set; }
///
/// 收款人姓名(线下支付退款时使用,仅导出时显示)
///
public string? PayeeName { get; set; }
///
/// 收款人开户行(线下支付退款时使用,仅导出时显示)
///
public string? PayeeBankName { get; set; }
///
/// 收款人银行卡号(线下支付退款时使用,仅导出时显示)
///
public string? PayeeBankAccount { get; set; }
///
/// 备注信息
///
public string Remark { get; set; }
}
///
/// 订单详情输出
///
public class OrderDetailOutput
{
///
/// 订单ID
///
public long Id { get; set; }
///
/// 订单编号
///
public string OrderNo { get; set; }
///
/// 订单类型
///
public int OrderType { get; set; }
///
/// 订单类型文本
///
public string OrderTypeText { get; set; }
///
/// 订单状态
///
public OrderStatus OrderStatus { get; set; }
///
/// 订单状态文本
///
public string OrderStatusText { get; set; }
///
/// 赛事名称
///
public string EventName { get; set; }
///
/// 收费模式
///
public ChargeMode ChargeMode { get; set; }
///
/// 项目名称集合
///
public string ProjectNames { get; set; }
///
/// 组别名称集合
///
public string GroupNames { get; set; }
///
/// 订单项目列表
///
public List Items { get; set; }
///
/// 订单人员列表
///
public List Persons { get; set; }
///
/// 支付方式
///
public string PaymentMethod { get; set; }
///
/// 具体支付方式
///
public PaymentMethodType PaymentMethodType { get; set; }
///
/// 具体支付方式文本
///
public string PaymentMethodTypeText { get; set; }
///
/// 支付凭证URL
///
public string PaymentProofUrl { get; set; }
///
/// 报名方式
///
public string RegistrationMode { get; set; }
///
/// 原始金额
///
public decimal OriginalAmount { get; set; }
///
/// 优惠金额
///
public decimal DiscountAmount { get; set; }
///
/// 实际金额
///
public decimal ActualAmount { get; set; }
///
/// 创建时间
///
public DateTime CreatedTime { get; set; }
///
/// 关联订单号
///
public string RelatedOrderNo { get; set; }
///
/// 联系人姓名
///
public string ContactName { get; set; }
///
/// 联系人电话
///
public string ContactPhone { get; set; }
///
/// 关联原始订单的实付金额(仅退款订单时有效)
///
public decimal? RelatedOrderActualAmount { get; set; }
///
/// 是否为退款订单
///
public bool IsRefundOrder { get; set; }
///
/// 备注信息
///
public string Remark { get; set; }
}
///
/// 订单项目DTO
///
public class OrderItemDto
{
///
/// 项目ID
///
public long Id { get; set; }
///
/// 项目ID
///
public long ProjectId { get; set; }
///
/// 项目名称
///
public string ProjectName { get; set; }
///
/// 组别名称
///
public string GroupName { get; set; }
///
/// 费用
///
public decimal Fee { get; set; }
}
///
/// 订单人员DTO
///
public class OrderPersonDto
{
///
/// 姓名
///
public string Name { get; set; }
///
/// 组别名称
///
public string GroupName { get; set; }
///
/// 关联的报名项目ID
///
public long RegistrationItemId { get; set; }
///
/// 关联的赛事项目ID
///
public long ProjectId { get; set; }
///
/// 参赛项目名称
///
public string? ProjectName { get; set; }
}
///
/// 更新订单状态输入
///
public class UpdateOrderStatusInput
{
///
/// 订单ID
///
public long Id { get; set; }
///
/// 支付状态
///
public int PaymentStatus { get; set; }
}
///
/// 退款订单输入
///
public class RefundOrderInput
{
///
/// 订单ID
///
public long Id { get; set; }
///
/// 退款金额
///
public decimal RefundAmount { get; set; }
///
/// 退款原因
///
public string Reason { get; set; }
///
/// 取消类型(0-全部取消,1-部分取消)
///
public int CancelType { get; set; }
///
/// 要取消的队员ID列表(部分取消时使用)
///
public List? PersonIds { get; set; }
}
///
/// 订单统计输出
///
public class OrderStatsOutput
{
///
/// 原金额:所有支付订单(排除报名失败)的原始报名费用总和
///
public decimal TotalOriginalAmount { get; set; }
///
/// 优惠金额:所有支付订单(排除报名失败)的折扣金额总和
///
public decimal TotalDiscountAmount { get; set; }
///
/// 实付金额:所有实际收款的金额总和,排除报名失败状态的订单记录
///
public decimal TotalActualAmount { get; set; }
///
/// 退款金额:所有退款数据中的金额总和,排除报名失败状态的退款记录
///
public decimal TotalRefundAmount { get; set; }
}