comment system

This commit is contained in:
2023-08-09 17:34:18 +08:00
parent ce94a401d3
commit 7a44b7fd9c
17 changed files with 1152 additions and 65 deletions

View File

@@ -41,4 +41,9 @@ public class FlowerDatabase : DbContext
/// 照片集
/// </summary>
public DbSet<PhotoItem> Photos { get; set; }
/// <summary>
/// 评论集
/// </summary>
public DbSet<CommentItem> Comments { get; set; }
}

View File

@@ -0,0 +1,99 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text.Json.Serialization;
namespace Blahblah.FlowerStory.Server.Data.Model;
/// <summary>
/// 评论对象
/// </summary>
[Table("comments")]
public class CommentItem
{
/// <summary>
/// 自增 id主键
/// </summary>
[Column("cid")]
[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>
/// 操作时间
/// </summary>
[Column("date")]
[Required]
[JsonPropertyName("date")]
public long DateUnixTime { get; set; }
/// <summary>
/// 关联的事件 id
/// </summary>
[Column("rid")]
[Required]
[ForeignKey(nameof(Record))]
public int RecordId { get; set; }
/// <summary>
/// 关联的事件
/// </summary>
[JsonIgnore]
public RecordItem Record { get; set; } = null!;
/// <summary>
/// 评论类别1-点赞2-收藏3-标签default-评论
/// </summary>
[Column("category")]
public int? CommentCategoryId { get; set; }
/// <summary>
/// 操作人 uid
/// </summary>
[Column("byuid")]
public int? ByUserId { get; set; }
/// <summary>
/// 操作人名称
/// </summary>
[Column("byname")]
public string? ByUserName { get; set; }
/// <summary>
/// 备注
/// </summary>
[Column("text")]
public string? Text { get; set; }
/// <summary>
/// 操作时间
/// </summary>
[NotMapped]
[JsonIgnore]
public DateTimeOffset Date => DateTimeOffset.FromUnixTimeMilliseconds(DateUnixTime);
/// <summary>
/// 纬度
/// </summary>
[Column("latitude")]
public double? Latitude { get; set; }
/// <summary>
/// 经度
/// </summary>
[Column("longitude")]
public double? Longitude { get; set; }
}

View File

@@ -24,7 +24,7 @@ public class FlowerItem : ILocation
[Column("uid")]
[ForeignKey(nameof(Owner))]
[Required]
public required int OwnerId { get; set; }
public int OwnerId { get; set; }
/// <summary>
/// 所有人
@@ -37,14 +37,14 @@ public class FlowerItem : ILocation
/// </summary>
[Column("categoryid")]
[Required]
public required int CategoryId { get; set; }
public int CategoryId { get; set; }
/// <summary>
/// 花草名称
/// </summary>
[Column("name")]
[Required]
public required string Name { get; set; }
public string Name { get; set; } = null!;
/// <summary>
/// 购买时间
@@ -52,7 +52,7 @@ public class FlowerItem : ILocation
[Column("datebuy")]
[Required]
[JsonPropertyName("dateBuy")]
public required long DateBuyUnixTime { get; set; }
public long DateBuyUnixTime { get; set; }
/// <summary>
/// 购买花费

View File

@@ -24,7 +24,7 @@ public class PhotoItem
[Column("uid")]
[ForeignKey(nameof(Owner))]
[Required]
public required int OwnerId { get; set; }
public int OwnerId { get; set; }
/// <summary>
/// 关联人
@@ -63,21 +63,21 @@ public class PhotoItem
/// </summary>
[Column("filetype")]
[Required]
public required string FileType { get; set; }
public string FileType { get; set; } = null!;
/// <summary>
/// 文件名
/// </summary>
[Column("filename")]
[Required]
public required string FileName { get; set; }
public string FileName { get; set; } = null!;
/// <summary>
/// 文件路径
/// </summary>
[Column("path")]
[Required]
public required string Path { get; set; }
public string Path { get; set; } = null!;
/// <summary>
/// 上传时间
@@ -85,7 +85,7 @@ public class PhotoItem
[Column("dateupload")]
[Required]
[JsonPropertyName("dateUpload")]
public required long DateUploadUnixTime { get; set; }
public long DateUploadUnixTime { get; set; }
/// <summary>
/// 上传时间

View File

@@ -24,7 +24,7 @@ public class RecordItem : ILocation
[Column("uid")]
[ForeignKey(nameof(Owner))]
[Required]
public required int OwnerId { get; set; }
public int OwnerId { get; set; }
/// <summary>
/// 关联人
@@ -38,7 +38,7 @@ public class RecordItem : ILocation
[Column("fid")]
[ForeignKey(nameof(Flower))]
[Required]
public required int FlowerId { get; set; }
public int FlowerId { get; set; }
/// <summary>
/// 关联花草
@@ -51,7 +51,7 @@ public class RecordItem : ILocation
/// </summary>
[Column("eid")]
[Required]
public required int EventId { get; set; }
public int EventId { get; set; }
/// <summary>
/// 操作时间
@@ -59,7 +59,7 @@ public class RecordItem : ILocation
[Column("date")]
[Required]
[JsonPropertyName("date")]
public required long DateUnixTime { get; set; }
public long DateUnixTime { get; set; }
/// <summary>
/// 是否为私有记录
@@ -114,4 +114,22 @@ public class RecordItem : ILocation
/// </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; }
}

View File

@@ -16,14 +16,14 @@ public class TokenItem
[Column("tid")]
[Key]
[Required]
public required string Id { get; set; }
public string Id { get; set; } = null!;
/// <summary>
/// 关联用户 uid
/// </summary>
[Column("uid")]
[Required]
public required int UserId { get; set; }
public int UserId { get; set; }
/// <summary>
/// 登录时间
@@ -31,7 +31,7 @@ public class TokenItem
[Column("logondate")]
[Required]
[JsonPropertyName("logonDate")]
public required long LogonDateUnixTime { get; set; }
public long LogonDateUnixTime { get; set; }
/// <summary>
/// 活动时间
@@ -39,7 +39,7 @@ public class TokenItem
[Column("activedate")]
[Required]
[JsonPropertyName("activeDate")]
public required long ActiveDateUnixTime { get; set; }
public long ActiveDateUnixTime { get; set; }
/// <summary>
/// 过期时间
@@ -47,14 +47,14 @@ public class TokenItem
[Column("expiredate")]
[Required]
[JsonPropertyName("expireDate")]
public required long ExpireDateUnixTime { get; set; }
public long ExpireDateUnixTime { get; set; }
/// <summary>
/// 过期秒数
/// </summary>
[Column("expiresecs")]
[Required]
public required int ExpireSeconds { get; set; }
public int ExpireSeconds { get; set; }
/// <summary>
/// 验证码

View File

@@ -23,7 +23,7 @@ public class UserItem
/// </summary>
[Column("id")]
[Required]
public required string UserId { get; set; }
public string UserId { get; set; } = null!;
/// <summary>
/// 密码,值为 SHA256(password+id+salt)
@@ -41,7 +41,7 @@ public class UserItem
/// </summary>
[Column("level")]
[Required]
public required int Level { get; set; }
public int Level { get; set; }
/// <summary>
/// 注册时间
@@ -49,7 +49,7 @@ public class UserItem
[Column("regdate")]
[Required]
[JsonPropertyName("registerDate")]
public required long RegisterDateUnixTime { get; set; }
public long RegisterDateUnixTime { get; set; }
/// <summary>
/// 最后变动时间