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!;
 | 
						|
    }
 | 
						|
} |