liteblog/controllers/message.go

67 lines
1.3 KiB
Go

package controllers
import (
"liteblog/models"
"liteblog/syserrors"
"log"
)
type MessageController struct {
BaseController
}
// 新增留言
// @router /create [post]
func(c *MessageController) NewMessage() {
log.Print("开始留言了...")
c.MustLogin()
content := c.GetMustString("content", "请输入评论内容")
k := c.UUID()
message := &models.Message{
Key: k,
User: c.User,
UserId: int(c.User.ID),
Content: content,
}
if err := models.SaveMessage(message); err != nil {
log.Print(err)
log.Print("保存失败了")
c.Abort500(syserrors.NewError("保存失败", err))
}
c.JSONOkH("保存成功", H{"data": message})
}
// @router /count [get]
func(c *MessageController) Count() {
count, err := models.QueryMessageCount();
if err != nil {
c.Abort500(syserrors.NewError("查询失败", err))
}
c.JSONOkH("查询成功", H{"count": count})
}
// @router /query [get]
func(c *MessageController) Query() {
pageNo, err := c.GetInt("pageno", 1)
if err != nil || pageNo < 1 {
pageNo = 1
}
pageSize, err := c.GetInt("pagesize", 10)
if err != nil || pageSize < 0 {
pageSize = 10
}
messages, err := models.QueryMessageByPage(pageNo, pageSize)
if err != nil {
c.Abort500(syserrors.NewError("查询错误", err))
}
c.JSONOkH("查询成功", H{"data": messages})
}