91 lines
2.3 KiB
Go
91 lines
2.3 KiB
Go
package article
|
|
|
|
import (
|
|
"git.echol.cn/loser/lckt/global"
|
|
"git.echol.cn/loser/lckt/model/article"
|
|
"git.echol.cn/loser/lckt/model/article/request"
|
|
r "git.echol.cn/loser/lckt/model/common/response"
|
|
"github.com/gin-gonic/gin"
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
type ArticleApi struct{}
|
|
|
|
func (ArticleApi) Create(ctx *gin.Context) {
|
|
var p article.Article
|
|
if err := ctx.ShouldBind(&p); err != nil {
|
|
r.FailWithMessage(err.Error(), ctx)
|
|
global.GVA_LOG.Error("参数有误!", zap.Error(err))
|
|
return
|
|
}
|
|
err := articleService.CreateArticle(p)
|
|
if err != nil {
|
|
global.GVA_LOG.Error("创建失败!", zap.Error(err))
|
|
r.FailWithMessage("创建失败:"+err.Error(), ctx)
|
|
return
|
|
}
|
|
|
|
r.OkWithMessage("创建成功", ctx)
|
|
}
|
|
|
|
func (ArticleApi) Delete(ctx *gin.Context) {
|
|
var ids request.DeleteIds
|
|
if err := ctx.ShouldBind(&ids); err != nil {
|
|
r.FailWithMessage(err.Error(), ctx)
|
|
global.GVA_LOG.Error("参数有误!", zap.Error(err))
|
|
return
|
|
}
|
|
|
|
err := articleService.DeleteArticle(ids)
|
|
if err != nil {
|
|
global.GVA_LOG.Error("删除失败!", zap.Error(err))
|
|
r.FailWithMessage("删除失败:"+err.Error(), ctx)
|
|
return
|
|
}
|
|
r.OkWithMessage("删除成功", ctx)
|
|
}
|
|
|
|
func (ArticleApi) Update(ctx *gin.Context) {
|
|
var p article.Article
|
|
if err := ctx.ShouldBind(&p); err != nil {
|
|
r.FailWithMessage(err.Error(), ctx)
|
|
global.GVA_LOG.Error("参数有误!", zap.Error(err))
|
|
return
|
|
}
|
|
err := articleService.UpdateArticle(p)
|
|
if err != nil {
|
|
global.GVA_LOG.Error("更新失败!", zap.Error(err))
|
|
r.FailWithMessage("更新失败:"+err.Error(), ctx)
|
|
return
|
|
}
|
|
r.OkWithMessage("更新成功", ctx)
|
|
}
|
|
|
|
func (ArticleApi) List(ctx *gin.Context) {
|
|
var p request.GetList
|
|
if err := ctx.ShouldBind(&p); err != nil {
|
|
r.FailWithMessage(err.Error(), ctx)
|
|
global.GVA_LOG.Error("参数有误!", zap.Error(err))
|
|
return
|
|
}
|
|
list, total, err := articleService.GetArticleList(p)
|
|
if err != nil {
|
|
global.GVA_LOG.Error("查询失败!", zap.Error(err))
|
|
r.FailWithMessage("查询失败:"+err.Error(), ctx)
|
|
return
|
|
}
|
|
r.OkWithDetailed(gin.H{"list": list, "total": total}, "查询成功", ctx)
|
|
}
|
|
|
|
// ById 根据ID获取文章
|
|
func (ArticleApi) ById(ctx *gin.Context) {
|
|
id := ctx.Param("id")
|
|
article, err := articleService.GetArticle(id)
|
|
if err != nil {
|
|
global.GVA_LOG.Error("查询失败!", zap.Error(err))
|
|
r.FailWithMessage("查询失败:"+err.Error(), ctx)
|
|
return
|
|
}
|
|
r.OkWithData(article, ctx)
|
|
}
|