device.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package dao
  2. import "server/global"
  3. type Device struct {
  4. global.GVA_MODEL
  5. Sn string `json:"sn" gorm:"comment:设备sn"`
  6. Name string `json:"name" gorm:"comment:名称"`
  7. Genre int `json:"genre" gorm:"index;comment:类型id"`
  8. DeviceGenre DeviceGenre `json:"deviceGenre" gorm:"foreignKey:Genre;"`
  9. }
  10. func (Device) TableName() string {
  11. return "device"
  12. }
  13. func QueryAllDevices() (devices []Device, err error) {
  14. err = global.GVA_DB.Model(Device{}).Find(&devices).Error
  15. return
  16. }
  17. func QueryDeviceList(sn, name string, genre, limit, offset int) (devices []Device, total int64, err error) {
  18. db := global.GVA_DB.Model(Device{})
  19. if sn != "" {
  20. db = db.Where("sn LIKE ?", "%"+sn+"%")
  21. }
  22. if name != "" {
  23. db = db.Where("name LIKE ?", "%"+name+"%")
  24. }
  25. if genre != 0 {
  26. db = db.Where("genre = ?", genre)
  27. }
  28. err = db.Count(&total).Error
  29. if err != nil {
  30. return
  31. }
  32. err = db.Limit(limit).Offset(offset).Preload("DeviceGenre").Find(&devices).Error
  33. return
  34. }
  35. func (d Device) CreateDevice() error {
  36. return global.GVA_DB.Create(&d).Error
  37. }
  38. func (d Device) UpdateDevice() error {
  39. return global.GVA_DB.Where("id = ?", d.ID).Updates(&d).Error
  40. }
  41. func DeleteDevice(id int) error {
  42. return global.GVA_DB.Unscoped().Where("id = ?", id).Delete(&Device{}).Error
  43. }