sa_doc_classify.go 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. package semantic_analysis
  2. import (
  3. "eta/eta_api/global"
  4. "eta/eta_api/utils"
  5. "fmt"
  6. "github.com/rdlucklib/rdluck_tools/paging"
  7. "strings"
  8. "time"
  9. )
  10. type SaDocClassify struct {
  11. SaDocClassifyId int `orm:"column(sa_doc_classify_id);pk" gorm:"primaryKey" description:"分类ID"`
  12. ClassifyName string `description:"分类名称"`
  13. CoverImg string `description:"封面图"`
  14. SysAdminId int `description:"创建人ID"`
  15. SysAdminName string `description:"创建人名称"`
  16. CreateTime time.Time `description:"创建时间"`
  17. ModifyTime time.Time `description:"修改时间"`
  18. }
  19. var SaDocClassifyColumns = struct {
  20. SaDocClassifyId string
  21. ClassifyName string
  22. CoverImg string
  23. SysAdminId string
  24. SysAdminName string
  25. CreateTime string
  26. ModifyTime string
  27. }{
  28. SaDocClassifyId: "sa_doc_classify_id",
  29. ClassifyName: "classify_name",
  30. CoverImg: "cover_img",
  31. SysAdminId: "sys_admin_id",
  32. SysAdminName: "sys_admin_name",
  33. CreateTime: "create_time",
  34. ModifyTime: "modify_time",
  35. }
  36. func (m *SaDocClassify) TableName() string {
  37. return "sa_doc_classify"
  38. }
  39. func (m *SaDocClassify) Create() (err error) {
  40. o := global.DbMap[utils.DbNameMaster]
  41. err = o.Create(m).Error
  42. return
  43. }
  44. func (m *SaDocClassify) Update(cols []string) (err error) {
  45. o := global.DbMap[utils.DbNameMaster]
  46. err = o.Select(cols).Updates(m).Error
  47. return
  48. }
  49. func (m *SaDocClassify) Del() (err error) {
  50. o := global.DbMap[utils.DbNameMaster]
  51. sql := `DELETE FROM sa_doc_classify WHERE sa_doc_classify_id = ? LIMIT 1`
  52. err = o.Exec(sql, m.SaDocClassifyId).Error
  53. return
  54. }
  55. func (m *SaDocClassify) GetItemById(id int) (err error) {
  56. o := global.DbMap[utils.DbNameMaster]
  57. sql := `SELECT * FROM sa_doc_classify WHERE sa_doc_classify_id = ? LIMIT 1`
  58. err = o.Raw(sql, id).First(&m).Error
  59. return
  60. }
  61. func (m *SaDocClassify) GetItemByCondition(condition string, pars []interface{}) (err error) {
  62. o := global.DbMap[utils.DbNameMaster]
  63. sql := `SELECT * FROM sa_doc_classify WHERE 1=1 `
  64. sql += condition
  65. sql += ` LIMIT 1`
  66. err = o.Raw(sql, pars...).First(&m).Error
  67. return
  68. }
  69. func (m *SaDocClassify) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
  70. o := global.DbMap[utils.DbNameMaster]
  71. sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
  72. err = o.Raw(sql, pars...).Scan(&count).Error
  73. return
  74. }
  75. func (m *SaDocClassify) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*SaDocClassify, err error) {
  76. o := global.DbMap[utils.DbNameMaster]
  77. fields := strings.Join(fieldArr, ",")
  78. if len(fieldArr) == 0 {
  79. fields = `*`
  80. }
  81. order := `ORDER BY create_time DESC`
  82. if orderRule != "" {
  83. order = ` ORDER BY ` + orderRule
  84. }
  85. sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
  86. err = o.Raw(sql, pars...).Find(&items).Error
  87. return
  88. }
  89. func (m *SaDocClassify) GetPageItemsByCondition(startSize, pageSize int, condition string, pars []interface{}, fieldArr []string, orderRule string) (total int, items []*SaDocClassify, err error) {
  90. o := global.DbMap[utils.DbNameMaster]
  91. fields := strings.Join(fieldArr, ",")
  92. if len(fieldArr) == 0 {
  93. fields = `*`
  94. }
  95. order := `ORDER BY create_time DESC`
  96. if orderRule != "" {
  97. order = ` ORDER BY ` + orderRule
  98. }
  99. sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
  100. totalSql := `SELECT COUNT(1) total FROM (` + sql + `) z`
  101. if err = o.Raw(totalSql, pars...).Scan(&total).Error; err != nil {
  102. return
  103. }
  104. sql += ` LIMIT ?,?`
  105. pars = append(pars, startSize, pageSize)
  106. err = o.Raw(sql, pars...).Find(&items).Error
  107. return
  108. }
  109. type SaDocClassifyAddReq struct {
  110. ClassifyName string `description:"分类名称"`
  111. CoverImg string `description:"封面图"`
  112. }
  113. type SaDocClassifyEditReq struct {
  114. SaDocClassifyId int `description:"分类ID"`
  115. SaDocClassifyAddReq
  116. }
  117. type SaDocClassifyDelReq struct {
  118. SaDocClassifyId int `description:"分类ID"`
  119. }
  120. type SaDocClassifyPageListResp struct {
  121. List []*SaDocClassifyItem
  122. Paging *paging.PagingItem `description:"分页数据"`
  123. }
  124. type SaDocClassifyItem struct {
  125. SaDocClassifyId int `description:"分类ID"`
  126. ClassifyName string `description:"分类名称"`
  127. CoverImg string `description:"封面图"`
  128. SysAdminId int `description:"创建人ID"`
  129. SysAdminName string `description:"创建人名称"`
  130. CreateTime string `description:"创建时间"`
  131. Children []*SaDocClassifyChildrenItem `description:"分类下的文档" gorm:"-"`
  132. }
  133. type SaDocClassifyChildrenItem struct {
  134. SaDocId int `description:"文档ID"`
  135. Title string `description:"文档标题"`
  136. Theme string `description:"文档主题"`
  137. CreateTime string `description:"创建时间"`
  138. UseNum int `description:"引用数"`
  139. }