document_history.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package models
  2. import (
  3. "time"
  4. "github.com/lifei6671/godoc/conf"
  5. "github.com/astaxie/beego/orm"
  6. )
  7. type DocumentHistory struct {
  8. HistoryId int `orm:"column(history_id);pk;auto;unique" json:"history_id"`
  9. DocumentId int `orm:"column(document_id);type(int);index" json:"doc_id"`
  10. DocumentName string `orm:"column(document_name);size(500)" json:"doc_name"`
  11. ParentId int `orm:"column(parent_id);type(int);index;default(0)" json:"parent_id"`
  12. Markdown string `orm:"column(markdown);type(text);null" json:"markdown"`
  13. Content string `orm:"column(content);type(text);null" json:"content"`
  14. MemberId int `orm:"column(member_id);type(int)" json:"member_id"`
  15. ModifyTime time.Time `orm:"column(modify_time);type(datetime);auto_now" json:"modify_time"`
  16. ModifyAt int `orm:"column(modify_at);type(int)" json:"-"`
  17. Version int64 `orm:"type(bigint);column(version)" json:"version"`
  18. }
  19. // TableName 获取对应数据库表名.
  20. func (m *DocumentHistory) TableName() string {
  21. return "document_history"
  22. }
  23. // TableEngine 获取数据使用的引擎.
  24. func (m *DocumentHistory) TableEngine() string {
  25. return "INNODB"
  26. }
  27. func (m *DocumentHistory) TableNameWithPrefix() string {
  28. return conf.GetDatabasePrefix() + m.TableName()
  29. }
  30. func (m *DocumentHistory) FindToPager(doc_id,page_index,page_size int) (docs []*DocumentHistory,totalCount int,err error) {
  31. o := orm.NewOrm()
  32. offset := (page_index - 1) * page_size
  33. totalCount = 0
  34. _,err = o.QueryTable(m.TableNameWithPrefix()).Filter("document_id",doc_id).Offset(offset).Limit(page_size).All(docs)
  35. if err != nil {
  36. return
  37. }
  38. var count int64
  39. count,err = o.QueryTable(m.TableNameWithPrefix()).Filter("document_id",doc_id).Count()
  40. if err != nil {
  41. return
  42. }
  43. totalCount = int(count)
  44. return
  45. }