87 lines
2.4 KiB
C#
87 lines
2.4 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace CampusErrand.Models;
|
|
|
|
/// <summary>
|
|
/// 订单表
|
|
/// </summary>
|
|
public class Order
|
|
{
|
|
[Key]
|
|
public int Id { get; set; }
|
|
|
|
/// <summary>订单编号</summary>
|
|
[MaxLength(32)]
|
|
public string OrderNo { get; set; } = string.Empty;
|
|
|
|
/// <summary>单主用户 ID</summary>
|
|
public int OwnerId { get; set; }
|
|
|
|
/// <summary>跑腿用户 ID</summary>
|
|
public int? RunnerId { get; set; }
|
|
|
|
/// <summary>订单类型</summary>
|
|
public OrderType OrderType { get; set; }
|
|
|
|
/// <summary>订单状态</summary>
|
|
public OrderStatus Status { get; set; } = OrderStatus.Pending;
|
|
|
|
/// <summary>物品名称/要做的事情</summary>
|
|
[MaxLength(256)]
|
|
public string ItemName { get; set; } = string.Empty;
|
|
|
|
/// <summary>取货/代取地点</summary>
|
|
[MaxLength(256)]
|
|
public string? PickupLocation { get; set; }
|
|
|
|
/// <summary>送达地点</summary>
|
|
[MaxLength(256)]
|
|
public string DeliveryLocation { get; set; } = string.Empty;
|
|
|
|
/// <summary>备注信息</summary>
|
|
[MaxLength(512)]
|
|
public string? Remark { get; set; }
|
|
|
|
/// <summary>联系手机号</summary>
|
|
[MaxLength(20)]
|
|
public string Phone { get; set; } = string.Empty;
|
|
|
|
/// <summary>跑腿佣金</summary>
|
|
[Column(TypeName = "decimal(10,2)")]
|
|
public decimal Commission { get; set; }
|
|
|
|
/// <summary>商品总金额(万能帮/代购/美食街)</summary>
|
|
[Column(TypeName = "decimal(10,2)")]
|
|
public decimal? GoodsAmount { get; set; }
|
|
|
|
/// <summary>支付总金额</summary>
|
|
[Column(TypeName = "decimal(10,2)")]
|
|
public decimal TotalAmount { get; set; }
|
|
|
|
/// <summary>完成凭证图片</summary>
|
|
[MaxLength(512)]
|
|
public string? CompletionProof { get; set; }
|
|
|
|
/// <summary>是否已评价</summary>
|
|
public bool IsReviewed { get; set; }
|
|
|
|
/// <summary>下单时间</summary>
|
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
|
|
|
/// <summary>接单时间</summary>
|
|
public DateTime? AcceptedAt { get; set; }
|
|
|
|
/// <summary>完成时间</summary>
|
|
public DateTime? CompletedAt { get; set; }
|
|
|
|
// 导航属性
|
|
[ForeignKey(nameof(OwnerId))]
|
|
public User? Owner { get; set; }
|
|
|
|
[ForeignKey(nameof(RunnerId))]
|
|
public User? Runner { get; set; }
|
|
|
|
public ICollection<FoodOrderItem> FoodOrderItems { get; set; } = [];
|
|
}
|