87 lines
1.9 KiB
C#
87 lines
1.9 KiB
C#
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;
|
|
}
|