136 lines
2.7 KiB
C#
136 lines
2.7 KiB
C#
using System.ComponentModel.DataAnnotations;
|
||
using System.ComponentModel.DataAnnotations.Schema;
|
||
using System.Text.Json.Serialization;
|
||
|
||
namespace Blahblah.FlowerStory.Server.Data.Model;
|
||
|
||
/// <summary>
|
||
/// 记录对象
|
||
/// </summary>
|
||
[Table("records")]
|
||
public class RecordItem : ILocation
|
||
{
|
||
/// <summary>
|
||
/// 自增 id,主键
|
||
/// </summary>
|
||
[Column("rid")]
|
||
[Key]
|
||
[Required]
|
||
public int Id { get; set; }
|
||
|
||
/// <summary>
|
||
/// 关联人 id
|
||
/// </summary>
|
||
[Column("uid")]
|
||
[ForeignKey(nameof(Owner))]
|
||
[Required]
|
||
public int OwnerId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 关联人
|
||
/// </summary>
|
||
[JsonIgnore]
|
||
public UserItem? Owner { get; set; }
|
||
|
||
/// <summary>
|
||
/// 关联花草 id
|
||
/// </summary>
|
||
[Column("fid")]
|
||
[ForeignKey(nameof(Flower))]
|
||
[Required]
|
||
public int FlowerId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 关联花草
|
||
/// </summary>
|
||
[JsonIgnore]
|
||
public FlowerItem? Flower { get; set; }
|
||
|
||
/// <summary>
|
||
/// 事件类型
|
||
/// </summary>
|
||
[Column("eid")]
|
||
[Required]
|
||
public int EventId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 操作时间
|
||
/// </summary>
|
||
[Column("date")]
|
||
[Required]
|
||
[JsonPropertyName("date")]
|
||
public long DateUnixTime { get; set; }
|
||
|
||
/// <summary>
|
||
/// 是否为私有记录
|
||
/// </summary>
|
||
[Column("hidden")]
|
||
public bool? IsHidden { get; set; }
|
||
|
||
/// <summary>
|
||
/// 操作人 uid
|
||
/// </summary>
|
||
[Column("byuid")]
|
||
public int? ByUserId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 操作人名称
|
||
/// </summary>
|
||
[Column("byname")]
|
||
public string? ByUserName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 标题
|
||
/// </summary>
|
||
[Column("title")]
|
||
public string? Title { get; set; }
|
||
|
||
/// <summary>
|
||
/// 备注
|
||
/// </summary>
|
||
[Column("memo")]
|
||
public string? Memo { get; set; }
|
||
|
||
/// <summary>
|
||
/// 操作时间
|
||
/// </summary>
|
||
[NotMapped]
|
||
[JsonIgnore]
|
||
public DateTimeOffset Date => DateTimeOffset.FromUnixTimeMilliseconds(DateUnixTime);
|
||
|
||
/// <summary>
|
||
/// 事件关联照片
|
||
/// </summary>
|
||
public ICollection<PhotoItem>? Photos { get; set; }
|
||
|
||
/// <summary>
|
||
/// 纬度
|
||
/// </summary>
|
||
[Column("latitude")]
|
||
public double? Latitude { get; set; }
|
||
|
||
/// <summary>
|
||
/// 经度
|
||
/// </summary>
|
||
[Column("longitude")]
|
||
public double? Longitude { get; set; }
|
||
|
||
/// <summary>
|
||
/// 点赞数
|
||
/// </summary>
|
||
[Column("likes")]
|
||
public int? LikeCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// 收藏数
|
||
/// </summary>
|
||
[Column("favs")]
|
||
public int? FavoriteCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// 评论数
|
||
/// </summary>
|
||
[Column("comments")]
|
||
public int? CommentCount { get; set; }
|
||
}
|