53 lines
1.5 KiB
C#
53 lines
1.5 KiB
C#
|
|
using System.ComponentModel.DataAnnotations;
|
||
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
||
|
|
|
||
|
|
namespace FutureMailAPI.Models
|
||
|
|
{
|
||
|
|
public class TimeCapsule
|
||
|
|
{
|
||
|
|
[Key]
|
||
|
|
public int Id { get; set; }
|
||
|
|
|
||
|
|
[Required]
|
||
|
|
public int UserId { get; set; }
|
||
|
|
|
||
|
|
[Required]
|
||
|
|
public int SentMailId { get; set; }
|
||
|
|
|
||
|
|
// 胶囊位置信息(X, Y, Z坐标)
|
||
|
|
public double PositionX { get; set; }
|
||
|
|
public double PositionY { get; set; }
|
||
|
|
public double PositionZ { get; set; }
|
||
|
|
|
||
|
|
// 胶囊大小
|
||
|
|
public double Size { get; set; } = 1.0;
|
||
|
|
|
||
|
|
// 胶囊颜色
|
||
|
|
[MaxLength(20)]
|
||
|
|
public string? Color { get; set; }
|
||
|
|
|
||
|
|
// 胶囊透明度
|
||
|
|
public double Opacity { get; set; } = 1.0;
|
||
|
|
|
||
|
|
// 胶囊旋转角度
|
||
|
|
public double Rotation { get; set; } = 0;
|
||
|
|
|
||
|
|
// 胶囊状态: 0-未激活, 1-漂浮中, 2-即将到达, 3-已开启
|
||
|
|
[Required]
|
||
|
|
public int Status { get; set; } = 0;
|
||
|
|
|
||
|
|
// 胶囊类型: 0-普通, 1-特殊, 2-限时
|
||
|
|
[Required]
|
||
|
|
public int Type { get; set; } = 0;
|
||
|
|
|
||
|
|
// 创建时间
|
||
|
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
||
|
|
|
||
|
|
// 导航属性
|
||
|
|
[ForeignKey("UserId")]
|
||
|
|
public virtual User User { get; set; } = null!;
|
||
|
|
|
||
|
|
[ForeignKey("SentMailId")]
|
||
|
|
public virtual SentMail SentMail { get; set; } = null!;
|
||
|
|
}
|
||
|
|
}
|