123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- package controllers
- import (
- "strings"
- "time"
- "github.com/mindoc-org/mindoc/conf"
- "github.com/mindoc-org/mindoc/models"
- "github.com/mindoc-org/mindoc/utils/pagination"
- )
- type CommentController struct {
- BaseController
- }
- func (c *CommentController) Lists() {
- docid, _ := c.GetInt("docid", 0)
- pageIndex, _ := c.GetInt("page", 1)
- // 获取评论、分页
- comments, count, pageIndex := models.NewComment().QueryCommentByDocumentId(docid, pageIndex, conf.PageSize, c.Member)
- page := pagination.PageUtil(int(count), pageIndex, conf.PageSize, comments)
- var data struct {
- DocId int `json:"doc_id"`
- Page pagination.Page `json:"page"`
- }
- data.DocId = docid
- data.Page = page
- c.JsonResult(0, "ok", data)
- return
- }
- func (c *CommentController) Create() {
- content := c.GetString("content")
- id, _ := c.GetInt("doc_id")
- _, err := models.NewDocument().Find(id)
- if err != nil {
- c.JsonResult(1, "文章不存在")
- }
- m := models.NewComment()
- m.DocumentId = id
- if c.Member == nil {
- c.JsonResult(1, "请先登录,再评论")
- }
- if len(c.Member.RealName) != 0 {
- m.Author = c.Member.RealName
- } else {
- m.Author = c.Member.Account
- }
- m.MemberId = c.Member.MemberId
- m.IPAddress = c.Ctx.Request.RemoteAddr
- m.IPAddress = strings.Split(m.IPAddress, ":")[0]
- m.CommentDate = time.Now()
- m.Content = content
- m.Insert()
- var data struct {
- DocId int `json:"doc_id"`
- }
- data.DocId = id
- c.JsonResult(0, "ok", data)
- }
- func (c *CommentController) Index() {
- c.Prepare()
- c.TplName = "comment/index.tpl"
- }
- func (c *CommentController) Delete() {
- if c.Ctx.Input.IsPost() {
- id, _ := c.GetInt("id", 0)
- m, err := models.NewComment().Find(id)
- if err != nil {
- c.JsonResult(1, "评论不存在")
- }
- doc, err := models.NewDocument().Find(m.DocumentId)
- if err != nil {
- c.JsonResult(1, "文章不存在")
- }
- // 判断是否有权限删除
- bookRole, _ := models.NewRelationship().FindForRoleId(doc.BookId, c.Member.MemberId)
- if m.CanDelete(c.Member.MemberId, bookRole) {
- err := m.Delete()
- if err != nil {
- c.JsonResult(1, "删除错误")
- } else {
- c.JsonResult(0, "ok")
- }
- } else {
- c.JsonResult(1, "没有权限删除")
- }
- }
- }
|