75 lines
2.0 KiB
C#
75 lines
2.0 KiB
C#
using Microsoft.EntityFrameworkCore;
|
||
using System.ComponentModel.DataAnnotations;
|
||
|
||
namespace Apimanager_backend.Models
|
||
{
|
||
[Index(nameof(OrderNumber), IsUnique = true)]
|
||
public class Order
|
||
{
|
||
/// <summary>
|
||
/// 主键,自增
|
||
/// </summary>
|
||
public int Id { get; set; }
|
||
|
||
/// <summary>
|
||
/// 外键,用户ID
|
||
/// </summary>
|
||
public int UserId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 订单号,唯一
|
||
/// </summary>
|
||
[Required]
|
||
public string OrderNumber { get; set; } // varchar(50)
|
||
|
||
/// <summary>
|
||
/// 第三方系统订单编号
|
||
/// </summary>
|
||
public string? ThirdPartyOrderId { get; set; } // varchar(100)
|
||
|
||
/// <summary>
|
||
/// 订单金额
|
||
/// </summary>
|
||
public decimal Amount { get; set; } // decimal(10, 2)
|
||
|
||
//支付方式
|
||
public PaymentType PaymentType { get; set; }
|
||
|
||
/// <summary>
|
||
/// 订单类型
|
||
/// </summary>
|
||
public OrderType OrderType { get; set; } // enum('Recharge','Purchase','Refund')
|
||
|
||
/// <summary>
|
||
/// 订单状态
|
||
/// </summary>
|
||
public OrderStatus Status { get; set; } // enum('Pending','Completed','Cancelled','Failed')
|
||
|
||
/// <summary>
|
||
/// 创建时间,订单创建时间
|
||
/// </summary>
|
||
public DateTime CreatedAt { get; set; } = DateTime.UtcNow; // timestamp
|
||
|
||
//支付完成时间
|
||
public DateTime? PaiAt { get; set; }
|
||
|
||
/// <summary>
|
||
/// 更新时间,订单状态更新时间
|
||
/// </summary>
|
||
public DateTime? UpdatedAt { get; set; } = DateTime.UtcNow; // timestamp
|
||
|
||
/// <summary>
|
||
/// 订单描述,可选的详细信息
|
||
/// </summary>
|
||
public string? Description { get; set; } // varchar(255)
|
||
|
||
/// <summary>
|
||
/// 软删除
|
||
/// </summary>
|
||
public bool IsDeleted { get; set; } = false;
|
||
|
||
//导航属性
|
||
public User? User { get; set; }
|
||
}
|
||
}
|