syscategory.go 3.3 KB

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