campus-errand/server/Models/Earning.cs
2026-03-01 05:01:47 +08:00

52 lines
1.3 KiB
C#

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace CampusErrand.Models;
/// <summary>
/// 收益表
/// </summary>
public class Earning
{
[Key]
public int Id { get; set; }
/// <summary>用户 ID</summary>
public int UserId { get; set; }
/// <summary>订单 ID</summary>
public int OrderId { get; set; }
/// <summary>垫付商品金额</summary>
[Column(TypeName = "decimal(10,2)")]
public decimal? GoodsAmount { get; set; }
/// <summary>跑腿佣金</summary>
[Column(TypeName = "decimal(10,2)")]
public decimal Commission { get; set; }
/// <summary>平台抽成</summary>
[Column(TypeName = "decimal(10,2)")]
public decimal PlatformFee { get; set; }
/// <summary>实得收益</summary>
[Column(TypeName = "decimal(10,2)")]
public decimal NetEarning { get; set; }
/// <summary>状态</summary>
public EarningStatus Status { get; set; } = EarningStatus.Frozen;
/// <summary>冻结截止时间</summary>
public DateTime FrozenUntil { get; set; }
/// <summary>创建时间</summary>
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
// 导航属性
[ForeignKey(nameof(UserId))]
public User? User { get; set; }
[ForeignKey(nameof(OrderId))]
public Order? Order { get; set; }
}