environment.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package models
  2. //环境监测设备,数据来自web
  3. type DeviceEnvironment struct {
  4. ID string `gorm:"type:varchar(32);primary_key"` //设备ID,DID
  5. Name string `gorm:"type:varchar(64)"`
  6. GID string `gorm:"type:varchar(32)"` //网关ID
  7. Brand int `gorm:"type:int"` //品牌
  8. Model int `gorm:"type:int"` //型号
  9. Tenant string `gorm:"type:varchar(8)"` //租户ID
  10. State int `gorm:"type:int"` //1启用,0禁用
  11. TID int `gorm:"type:int"` //物模型ID
  12. LcModel
  13. }
  14. func (DeviceEnvironment) TableName() string {
  15. return "t_device_environment"
  16. }
  17. func (o DeviceEnvironment) Delete() error {
  18. return G_db.Model(&o).Updates(map[string]interface{}{"state": 0}).Error
  19. }
  20. func (o DeviceEnvironment) IsExistedByCode() (bool, error) {
  21. var count int = 0
  22. err := G_db.Model(&o).Where(" id = ? ", o.ID).Count(&count).Error
  23. return count > 0, err
  24. }
  25. func (o DeviceEnvironment) SaveFromWeb() error {
  26. has, err := o.IsExistedByCode()
  27. if err != nil {
  28. return err
  29. }
  30. if has { //更新
  31. return G_db.Model(&o).Updates(map[string]interface{}{
  32. "name": o.Name, "g_id": o.GID, "brand": o.Brand, "model": o.Model,
  33. "tenant": o.Tenant, "state": o.State}).Error
  34. } else { //插入
  35. return G_db.Create(&o).Error
  36. }
  37. }
  38. func UpdateDeviceEnvironmentTID(code string, tid int) error {
  39. return nil
  40. sql := `UPDATE t_device_environment SET t_id = ? WHERE id = ?;`
  41. return G_db.Raw(sql, tid, code).Error
  42. }