using System.ComponentModel.DataAnnotations;
using TakeoutSaaS.Domain.Tenants.Enums;
using TakeoutSaaS.Shared.Abstractions.Entities;
namespace TakeoutSaaS.Domain.Tenants.Entities;
///
/// 租户实名认证资料。
///
public sealed class TenantVerificationProfile : AuditableEntityBase
{
///
/// 对应的租户标识。
///
public long TenantId { get; set; }
///
/// 实名状态。
///
public TenantVerificationStatus Status { get; set; } = TenantVerificationStatus.Draft;
///
/// 营业执照编号。
///
public string? BusinessLicenseNumber { get; set; }
///
/// 营业执照文件地址。
///
public string? BusinessLicenseUrl { get; set; }
///
/// 法人姓名。
///
public string? LegalPersonName { get; set; }
///
/// 法人身份证号。
///
public string? LegalPersonIdNumber { get; set; }
///
/// 法人身份证正面。
///
public string? LegalPersonIdFrontUrl { get; set; }
///
/// 法人身份证反面。
///
public string? LegalPersonIdBackUrl { get; set; }
///
/// 开户名。
///
public string? BankAccountName { get; set; }
///
/// 银行账号。
///
public string? BankAccountNumber { get; set; }
///
/// 银行名称。
///
public string? BankName { get; set; }
///
/// 微信商户号。
///
[MaxLength(64)]
public string? WeChatMerchantNo { get; set; }
///
/// 支付宝 PID。
///
[MaxLength(64)]
public string? AlipayPid { get; set; }
///
/// 附加资料(JSON)。
///
public string? AdditionalDataJson { get; set; }
///
/// 提交时间。
///
public DateTime? SubmittedAt { get; set; }
///
/// 审核时间。
///
public DateTime? ReviewedAt { get; set; }
///
/// 审核人 ID。
///
public long? ReviewedBy { get; set; }
///
/// 审核人姓名。
///
public string? ReviewedByName { get; set; }
///
/// 审核备注。
///
public string? ReviewRemarks { get; set; }
}