Files
fatemaster/backend/FateMaster.API/Models/DivinationRecord.cs

87 lines
1.9 KiB
C#
Raw Normal View History

2025-10-03 11:24:11 +08:00
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace FateMaster.API.Models;
/// <summary>
/// 卜卦记录表
/// </summary>
public class DivinationRecord
{
[Key]
public long Id { get; set; }
/// <summary>
/// 卜卦类型: bazi, career, marriage, tarot, zodiac
/// </summary>
[Required]
[MaxLength(50)]
public string Type { get; set; } = string.Empty;
/// <summary>
/// 用户输入数据(JSON)
/// </summary>
[Required]
[Column(TypeName = "json")]
public string InputData { get; set; } = string.Empty;
/// <summary>
/// 传统算法结果(JSON)
/// </summary>
[Column(TypeName = "json")]
public string? TraditionalResult { get; set; }
/// <summary>
/// AI解读结果
/// </summary>
[Column(TypeName = "text")]
public string? AIInterpretation { get; set; }
/// <summary>
/// 支付状态: pending, paid, failed
/// </summary>
[Required]
[MaxLength(20)]
public string PaymentStatus { get; set; } = "pending";
/// <summary>
/// 支付方式: alipay, paypal, stripe
/// </summary>
[MaxLength(20)]
public string? PaymentMethod { get; set; }
/// <summary>
/// 支付金额
/// </summary>
[Column(TypeName = "decimal(10,2)")]
public decimal Amount { get; set; }
/// <summary>
/// 支付订单号
/// </summary>
[MaxLength(100)]
public string? PaymentOrderId { get; set; }
/// <summary>
/// 客户端IP
/// </summary>
[MaxLength(50)]
public string? ClientIp { get; set; }
/// <summary>
/// 语言
/// </summary>
[MaxLength(10)]
public string? Language { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
/// <summary>
/// 更新时间
/// </summary>
public DateTime UpdatedAt { get; set; } = DateTime.UtcNow;
}