40 lines
1.1 KiB
Go
40 lines
1.1 KiB
Go
|
package dao
|
|||
|
|
|||
|
import (
|
|||
|
"time"
|
|||
|
|
|||
|
"gorm.io/gorm"
|
|||
|
)
|
|||
|
|
|||
|
// 帖子评论和回复表
|
|||
|
|
|||
|
type PostComment struct {
|
|||
|
ID uint64 `gorm:"primaryKey;not null;comment:'评论id'"`
|
|||
|
CreatedAt time.Time `gorm:"type:datetime(0)"`
|
|||
|
UserId int32 `gorm:"not null;comment:'评论者'"`
|
|||
|
PostId uint64 `gorm:"index;not null;comment:'帖子'"`
|
|||
|
Content string `gorm:"type:varchar(1024);not null;comment:'评论内容'"`
|
|||
|
// CommentId uint64 `gorm:"comment:'评论上级ID,作为回复某个评论时使用'"`
|
|||
|
}
|
|||
|
|
|||
|
func PostComment_Insert(data *PostComment) (uint64, error) {
|
|||
|
if err := s.db.Create(data).Error; err != nil {
|
|||
|
return 0, err
|
|||
|
}
|
|||
|
return uint64(data.ID), nil
|
|||
|
}
|
|||
|
|
|||
|
// 根据帖子id,查询所有的评论
|
|||
|
func PostComment_QueryListByPostId(postId uint64) ([]*PostComment, error) {
|
|||
|
var list []*PostComment
|
|||
|
if err := s.db.Where("post_id = ?", postId).Find(&list).Error; err != nil && err != gorm.ErrRecordNotFound {
|
|||
|
return nil, err
|
|||
|
}
|
|||
|
return list, nil
|
|||
|
}
|
|||
|
|
|||
|
func PostComment_Delete(commentId uint64) error {
|
|||
|
data := PostComment{ID: commentId}
|
|||
|
return s.db.Delete(&data).Error
|
|||
|
}
|