评论
一、评论层级
评论最多只能有两层,即一个顶层评论可以有任意个子评论,但是这些子评论不能再有子评论。
- 回复顶层评论:新增的评论需要指定 parentCommentId(父评论 ID),无需指定replayCommentId(回复的评论 ID)。
- 回复子评论:新增的评论需要同时指定 parentCommentId(父评论 ID)和 replayCommentId(回复的评论 ID)。
二、评论表结构
``` kotlin
/**
- 评论表
/
object Comments: Table("comment") {
/* 评论 ID /
val commentId = long("comment_id").autoIncrement()
/ 文章 ID /
val postId = long("post_id").references(Posts.postId)
/ 父评论 ID /
val parentCommentId = long("parent_comment_id").nullable()
/ 回复评论 ID /
val replyCommentId = long("reply_comment_id").nullable()
/ 回复用户名 /
val replyDisplayName = varchar("reply_display_name", 128).nullable()
/ 评论内容 /
val content = text("content")
/ 评论人站点 /
val site = varchar("site", 512).nullable()
/ 评论人名称 /
val displayName = varchar("display_name", 128)
/ 评论人邮箱 /
val email = varchar("email", 128).nullable()
/ 评论时间 /
val createTime = long("create_time")
/ 是否通过审核 **/
val isPass = bool("is_pass")
override val primaryKey = PrimaryKey(commentId)
}
### 三、评论枚举类
#### 1.评论排序枚举类
``` kotlin
/**
* 评论排序枚举
*/
enum class CommentSort {
/** 创建时间降序排序 **/
CREATE_TIME_DESC,
/** 创建时间升序排序 **/
CREATE_TIME_ASC
}