2026-05-15 14:03:05 +08:00

426 lines
9.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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