sysfileinfo.go 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. package models
  2. import (
  3. orm "device-manage/common/global"
  4. )
  5. type SysFileInfo struct {
  6. Id int `json:"id"` // id
  7. Type string `json:"type" gorm:"type:varchar(255);"` // 文件类型
  8. Name string `json:"name" gorm:"type:varchar(255);"` // 文件名称
  9. Size string `json:"size" gorm:"type:int(11);"` // 文件大小
  10. PId int `json:"pId" gorm:"type:int(11);"` // 目录id
  11. Source string `json:"source" gorm:"type:varchar(255);"` // 文件源
  12. Url string `json:"url" gorm:"type:varchar(255);"` // 文件路径
  13. FullUrl string `json:"fullUrl" gorm:"type:varchar(255);"` // 文件全路径
  14. CreateBy string `json:"createBy" gorm:"type:varchar(128);"` // 创建人
  15. UpdateBy string `json:"updateBy" gorm:"type:varchar(128);"` // 编辑人
  16. DataScope string `json:"dataScope" gorm:"-"`
  17. Params string `json:"params" gorm:"-"`
  18. BaseModel
  19. }
  20. func (SysFileInfo) TableName() string {
  21. return "sys_file_info"
  22. }
  23. // 创建SysFileInfo
  24. func (e *SysFileInfo) Create() (SysFileInfo, error) {
  25. var doc SysFileInfo
  26. result := orm.Eloquent.Table(e.TableName()).Create(&e)
  27. if result.Error != nil {
  28. err := result.Error
  29. return doc, err
  30. }
  31. doc = *e
  32. return doc, nil
  33. }
  34. // 获取SysFileInfo
  35. func (e *SysFileInfo) Get() (SysFileInfo, error) {
  36. var doc SysFileInfo
  37. table := orm.Eloquent.Table(e.TableName())
  38. if e.Id != 0 {
  39. table = table.Where("id = ?", e.Id)
  40. }
  41. if err := table.First(&doc).Error; err != nil {
  42. return doc, err
  43. }
  44. return doc, nil
  45. }
  46. // 获取SysFileInfo带分页
  47. func (e *SysFileInfo) GetPage(pageSize int, pageIndex int) ([]SysFileInfo, int, error) {
  48. var doc []SysFileInfo
  49. table := orm.Eloquent.Table(e.TableName())
  50. if e.PId != 0 {
  51. table = table.Where("p_id = ?", e.PId)
  52. }
  53. // 数据权限控制(如果不需要数据权限请将此处去掉)
  54. //dataPermission := new(DataPermission)
  55. //dataPermission.UserId, _ = tools.StringToInt(e.DataScope)
  56. //table, err := dataPermission.GetDataScope(e.TableName(), table)
  57. //if err != nil {
  58. // return nil, 0, err
  59. //}
  60. var count int64
  61. if err := table.Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&doc).Offset(-1).Limit(-1).Count(&count).Error; err != nil {
  62. return nil, 0, err
  63. }
  64. //table.Where("`deleted_at` IS NULL").Count(&count)
  65. return doc, int(count), nil
  66. }
  67. // 更新SysFileInfo
  68. func (e *SysFileInfo) Update(id int) (update SysFileInfo, err error) {
  69. if err = orm.Eloquent.Table(e.TableName()).Where("id = ?", id).First(&update).Error; err != nil {
  70. return
  71. }
  72. //参数1:是要修改的数据
  73. //参数2:是修改的数据
  74. if err = orm.Eloquent.Table(e.TableName()).Model(&update).Updates(&e).Error; err != nil {
  75. return
  76. }
  77. return
  78. }
  79. // 删除SysFileInfo
  80. func (e *SysFileInfo) Delete(id int) (success bool, err error) {
  81. if err = orm.Eloquent.Table(e.TableName()).Where("id = ?", id).Delete(&SysFileInfo{}).Error; err != nil {
  82. success = false
  83. return
  84. }
  85. success = true
  86. return
  87. }
  88. //批量删除
  89. func (e *SysFileInfo) BatchDelete(id []int) (Result bool, err error) {
  90. if err = orm.Eloquent.Table(e.TableName()).Where("id in (?)", id).Delete(&SysFileInfo{}).Error; err != nil {
  91. return
  92. }
  93. Result = true
  94. return
  95. }