ql_apimanager_backend/Apimanager_backend/Models/Order.cs

75 lines
2.0 KiB
C#
Raw Permalink 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 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; }
}
}