using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace MiAssessment.Admin.Business.Entities;
///
/// 佣金记录表
///
[Table("commissions")]
public class Commission
{
///
/// 主键ID
///
[Key]
public long Id { get; set; }
///
/// 获得佣金的用户ID
///
public long UserId { get; set; }
///
/// 来源用户ID
///
public long FromUserId { get; set; }
///
/// 关联订单ID
///
public long OrderId { get; set; }
///
/// 订单金额
///
[Column(TypeName = "decimal(10,2)")]
public decimal OrderAmount { get; set; }
///
/// 佣金比例
///
[Column(TypeName = "decimal(5,2)")]
public decimal CommissionRate { get; set; }
///
/// 佣金金额
///
[Column(TypeName = "decimal(10,2)")]
public decimal CommissionAmount { get; set; }
///
/// 层级:1直接下级 2间接下级
///
public int Level { get; set; }
///
/// 状态:1待结算 2已结算
///
public int Status { get; set; } = 1;
///
/// 结算时间
///
public DateTime? SettleTime { get; set; }
///
/// 创建时间
///
public DateTime CreateTime { get; set; }
///
/// 更新时间
///
public DateTime UpdateTime { get; set; }
///
/// 软删除标记
///
public bool IsDeleted { get; set; }
///
/// 获得佣金的用户
///
[ForeignKey(nameof(UserId))]
public virtual User? User { get; set; }
///
/// 来源用户
///
[ForeignKey(nameof(FromUserId))]
public virtual User? FromUser { get; set; }
///
/// 关联的订单
///
[ForeignKey(nameof(OrderId))]
public virtual Order? Order { get; set; }
}