syscontent.go 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. package models
  2. import (
  3. orm "device-manage/common/global"
  4. "device-manage/tools"
  5. )
  6. type SysContent struct {
  7. Id int `json:"id" gorm:"type:int(11);primary_key;auto_increment"` // id
  8. CateId string `json:"cateId" gorm:"type:int(11);"` // 分类id
  9. Name string `json:"name" gorm:"type:varchar(255);"` // 名称
  10. Status string `json:"status" gorm:"type:int(1);"` // 状态
  11. Img string `json:"img" gorm:"type:varchar(255);"` // 图片
  12. Content string `json:"content" gorm:"type:text;"` // 内容
  13. Remark string `json:"remark" gorm:"type:varchar(255);"` // 备注
  14. Sort string `json:"sort" gorm:"type:int(4);"` // 排序
  15. CreateBy string `json:"createBy" gorm:"type:varchar(128);"` // 创建者
  16. UpdateBy string `json:"updateBy" gorm:"type:varchar(128);"` // 更新者
  17. DataScope string `json:"dataScope" gorm:"-"`
  18. Params string `json:"params" gorm:"-"`
  19. BaseModel
  20. }
  21. func (SysContent) TableName() string {
  22. return "sys_content"
  23. }
  24. // 创建SysContent
  25. func (e *SysContent) Create() (SysContent, error) {
  26. var doc SysContent
  27. result := orm.Eloquent.Table(e.TableName()).Create(&e)
  28. if result.Error != nil {
  29. err := result.Error
  30. return doc, err
  31. }
  32. doc = *e
  33. return doc, nil
  34. }
  35. // 获取SysContent
  36. func (e *SysContent) Get() (SysContent, error) {
  37. var doc SysContent
  38. table := orm.Eloquent.Table(e.TableName())
  39. if e.Id != 0 {
  40. table = table.Where("id = ?", e.Id)
  41. }
  42. if e.CateId != "" {
  43. table = table.Where("cate_id = ?", e.CateId)
  44. }
  45. if e.Name != "" {
  46. table = table.Where("name like ?", "%"+e.Name+"%")
  47. }
  48. if e.Status != "" {
  49. table = table.Where("status = ?", e.Status)
  50. }
  51. if err := table.First(&doc).Error; err != nil {
  52. return doc, err
  53. }
  54. return doc, nil
  55. }
  56. // 获取SysContent带分页
  57. func (e *SysContent) GetPage(pageSize int, pageIndex int) ([]SysContent, int, error) {
  58. var doc []SysContent
  59. table := orm.Eloquent.Table(e.TableName())
  60. if e.CateId != "" {
  61. table = table.Where("cate_id = ?", e.CateId)
  62. }
  63. if e.Name != "" {
  64. table = table.Where("name like ?", "%"+e.Name+"%")
  65. }
  66. if e.Status != "" {
  67. table = table.Where("status = ?", e.Status)
  68. }
  69. // 数据权限控制(如果不需要数据权限请将此处去掉)
  70. dataPermission := new(DataPermission)
  71. dataPermission.UserId, _ = tools.StringToInt(e.DataScope)
  72. table, err := dataPermission.GetDataScope(e.TableName(), table)
  73. if err != nil {
  74. return nil, 0, err
  75. }
  76. var count int64
  77. if err := table.Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&doc).Offset(-1).Limit(-1).Count(&count).Error; err != nil {
  78. return nil, 0, err
  79. }
  80. //table.Where("`deleted_at` IS NULL").Count(&count)
  81. return doc, int(count), nil
  82. }
  83. // 更新SysContent
  84. func (e *SysContent) Update(id int) (update SysContent, err error) {
  85. if err = orm.Eloquent.Table(e.TableName()).Where("id = ?", id).First(&update).Error; err != nil {
  86. return
  87. }
  88. //参数1:是要修改的数据
  89. //参数2:是修改的数据
  90. if err = orm.Eloquent.Table(e.TableName()).Model(&update).Updates(&e).Error; err != nil {
  91. return
  92. }
  93. return
  94. }
  95. // 删除SysContent
  96. func (e *SysContent) Delete(id int) (success bool, err error) {
  97. if err = orm.Eloquent.Table(e.TableName()).Where("id = ?", id).Delete(&SysContent{}).Error; err != nil {
  98. success = false
  99. return
  100. }
  101. success = true
  102. return
  103. }
  104. //批量删除
  105. func (e *SysContent) BatchDelete(id []int) (Result bool, err error) {
  106. if err = orm.Eloquent.Table(e.TableName()).Where("id in (?)", id).Delete(&SysContent{}).Error; err != nil {
  107. return
  108. }
  109. Result = true
  110. return
  111. }