From 554e2a7b92cc113f80bb43a2e5b808faa3628e2c Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Wed, 4 Sep 2024 15:30:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=86=E8=BF=94=E5=9B=9Evi?= =?UTF-8?q?deo=5Fauthor=E5=AD=97=E6=AE=B5=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/controller/Article.go | 17 ++++++++++++++++- api/controller/Video.go | 10 ++++++++++ api/dao/Article.go | 6 ++++++ api/dao/Video.go | 6 ++++++ api/requests/Article.go | 2 ++ 5 files changed, 40 insertions(+), 1 deletion(-) diff --git a/api/controller/Article.go b/api/controller/Article.go index ba1bf85..89f0cd1 100644 --- a/api/controller/Article.go +++ b/api/controller/Article.go @@ -142,6 +142,11 @@ func (r *Article) PutArticle(c *gin.Context) { return } + if req.VoteNum < 0 { + responses.FailWithMessage("票数需大于0", c) + return + } + // 获取订单数据 articleDao := dao.ArticleDao{} article, err := articleDao.GetArticleById(articleId) @@ -176,6 +181,11 @@ func (r *Article) PutArticle(c *gin.Context) { articleData["article_content"] = req.ArticleContent } + // 票数 + if article.VoteNum != req.VoteNum { + articleData["vote_num"] = req.VoteNum + } + // 修改 if len(articleData) > 0 { err = articleDao.EditArticleById(tx, articleId, articleData) @@ -259,6 +269,11 @@ func (r *Article) AddArticle(c *gin.Context) { return } + if req.VoteNum < 0 { + responses.FailWithMessage("票数需大于0", c) + return + } + // 开始事务 tx := global.Db.Begin() defer func() { @@ -272,7 +287,7 @@ func (r *Article) AddArticle(c *gin.Context) { article := &model.Article{ ArticleTitle: req.ArticleTitle, ArticleStatus: req.ArticleStatus, - VoteNum: 0, + VoteNum: req.VoteNum, ArticleContent: req.ArticleContent, } diff --git a/api/controller/Video.go b/api/controller/Video.go index abbf325..6fb0d7a 100644 --- a/api/controller/Video.go +++ b/api/controller/Video.go @@ -142,6 +142,11 @@ func (r *Video) PutVideo(c *gin.Context) { return } + if req.VoteNum < 0 { + responses.FailWithMessage("票数需大于0", c) + return + } + // 获取订单数据 videoDao := dao.VideoDao{} video, err := videoDao.GetVideoById(videoId) @@ -269,6 +274,11 @@ func (r *Video) AddVideo(c *gin.Context) { return } + if req.VoteNum < 0 { + responses.FailWithMessage("票数需大于0", c) + return + } + // 开始事务 tx := global.Db.Begin() defer func() { diff --git a/api/dao/Article.go b/api/dao/Article.go index 94557e2..4a45ecc 100644 --- a/api/dao/Article.go +++ b/api/dao/Article.go @@ -133,6 +133,12 @@ func (r *ArticleDao) GetArticlePageSearch(req requests.GetArticlePage, page, pag // 构建查询条件 query := global.Db.Model(&model.Article{}) + // 作者 + query = query.Preload("ArticleAuthor") + + // 作者关联医院 + query = query.Preload("ArticleAuthor.BaseHospital") + // 文章标题 if req.ArticleTitle != "" { query = query.Where("article_title LIKE ?", "%"+req.ArticleTitle+"%") diff --git a/api/dao/Video.go b/api/dao/Video.go index f9b7bbe..953c805 100644 --- a/api/dao/Video.go +++ b/api/dao/Video.go @@ -133,6 +133,12 @@ func (r *VideoDao) GetVideoPageSearch(req requests.GetVideoPage, page, pageSize // 构建查询条件 query := global.Db.Model(&model.Video{}) + // 作者 + query = query.Preload("VideoAuthor") + + // 作者关联医院 + query = query.Preload("VideoAuthor.BaseHospital") + // 文章标题 if req.VideoTitle != "" { query = query.Where("video_title LIKE ?", "%"+req.VideoTitle+"%") diff --git a/api/requests/Article.go b/api/requests/Article.go index 8a1e7d7..525d673 100644 --- a/api/requests/Article.go +++ b/api/requests/Article.go @@ -25,6 +25,7 @@ type GetArticlePageOrder struct { type PutArticle struct { ArticleTitle string `json:"article_title" form:"article_title" label:"文章标题" validate:"required"` ArticleStatus int `json:"article_status" form:"article_status" label:"文章状态" validate:"required,oneof=1 2"` // (1:正常 2:禁用) + VoteNum uint `json:"vote_num" form:"vote_num" label:"票数" validate:"required"` ArticleContent string `json:"article_content" form:"article_content" label:"文章内容" validate:"required"` ArticleAuthor []*PutArticleAuthor `json:"article_author" form:"article_author" label:"作者" validate:"required"` } @@ -39,6 +40,7 @@ type PutArticleAuthor struct { type AddArticle struct { ArticleTitle string `json:"article_title" form:"article_title" label:"文章标题" validate:"required"` ArticleStatus int `json:"article_status" form:"article_status" label:"文章状态" validate:"required,oneof=1 2"` // (1:正常 2:禁用) + VoteNum uint `json:"vote_num" form:"vote_num" label:"票数" validate:"required"` ArticleContent string `json:"article_content" form:"article_content" label:"文章内容" validate:"required"` ArticleAuthor []*PutArticleAuthor `json:"article_author" form:"article_author" label:"作者" validate:"required"` }