sosalarm.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package models
  2. import "time"
  3. type SosAlarm struct {
  4. ID int64 `gorm:"primary_key"` //主键ID
  5. DID string `gorm:"type:varchar(32)"` //设备编码
  6. TStart time.Time `gorm:"type:datetime"` //告警开始时间
  7. TEnd time.Time `gorm:"type:datetime;default:null"` //告警结束时间
  8. AType string `gorm:"type:varchar(32)"` //告警主题
  9. Content string `gorm:"type:varchar(128)"` //告警内容
  10. LcModel
  11. }
  12. func (SosAlarm) TableName() string {
  13. return "t_device_sos_alarm"
  14. }
  15. func (o SosAlarm) Update() error {
  16. err := G_db.Model(&o).Where("id = ?", o.ID).Updates(
  17. map[string]interface{}{"t_end": o.TEnd}).Error
  18. return err
  19. }
  20. func GetSosAlarm(Codes []string, Start, End string) ([]SosAlarm, error) {
  21. var array []SosAlarm
  22. err := G_db.Model(&SosAlarm{}).Where("d_id IN (?) and t_start >= ? and t_start <= ?",
  23. Codes, Start, End).Order("id asc").Find(&array).Error
  24. return array, err
  25. }
  26. //用于web端告警信息同步
  27. func GetUpdateSosAlarm(id uint64, update string) ([]SosAlarm, error) {
  28. var array []SosAlarm
  29. err := G_db.Model(&SosAlarm{}).Where("id > ? OR updated_at > ?", id, update).Order("id asc").Find(&array).Error
  30. return array, err
  31. }