noticeSetDao.go 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package dao
  2. import (
  3. "errors"
  4. "gorm.io/gorm"
  5. )
  6. // NoticeSet 告警通知设置
  7. type NoticeSet struct {
  8. gorm.Model
  9. TenantId string `gorm:"comment:租户;default:0" json:"_"` //租户
  10. DeviceType int `gorm:"comment:设备类型;default:0" json:"deviceType"` //设备类型1-15
  11. DeviceId int `gorm:"comment:设备ID;default:0" json:"deviceId"` //设备ID
  12. DeviceSn string `gorm:"comment:设备sn;" json:"sn"` //设备sn
  13. RType int `gorm:"comment:发送类型:0 - 全部 1按设备 2设备ID;" json:"deviceType"` //发送类型:0 - 全部设备 1 按设备类型 2按设备ID
  14. DevUserIds string `gorm:"comment:运维通知人员;" json:"devUserIds"` //运维通知人员
  15. BusinessUserIds string `gorm:"comment:业务通知人员;" json:"businessUserIds"` //业务通知人员
  16. DevUserNoticeModes string `gorm:"comment:运维通知方式;" json:"devUserNoticeModes"` //运维通知方式 1短信 2邮件
  17. BusinessNoticeModes string `gorm:"comment:业务通知方式;" json:"businessNoticeModes"` //业务通知方式 1短信 2邮件+
  18. DevUserNoticeModesName string `json:"showOperationTypeName"`
  19. BusinessNoticeModesName string `json:"showBusinessTypeName"`
  20. DevUserIdsName string `json:"noticeOperationName"`
  21. BusinessUserIdsName string `json:"noticeBusinessName"`
  22. }
  23. func (NoticeSet) TableName() string {
  24. return "warn_notice_set"
  25. }
  26. func (s *NoticeSet) UpdateOrSave() error {
  27. noticeSet := NoticeSet{}
  28. db := Db.Debug().Model(&noticeSet)
  29. var err error
  30. switch s.RType {
  31. case 1:
  32. err = db.Where(&NoticeSet{RType: 1, TenantId: s.TenantId}).First(&noticeSet).Error
  33. case 2:
  34. err = db.Where(&NoticeSet{RType: 2, TenantId: s.TenantId, DeviceType: s.DeviceType}).First(&noticeSet).Error
  35. case 3:
  36. err = db.Where(&NoticeSet{RType: 3, TenantId: s.TenantId, DeviceType: s.DeviceType, DeviceId: s.DeviceId}).First(&noticeSet).Error
  37. default:
  38. return errors.New("没有Rtype")
  39. }
  40. if noticeSet.ID == 0 {
  41. err = Db.Debug().Model(&noticeSet).Save(s).Error
  42. } else {
  43. err = Db.Debug().Model(&noticeSet).Updates(s).Error
  44. }
  45. return err
  46. }
  47. func (s NoticeSet) GetList() ([]NoticeSet, error) {
  48. var list []NoticeSet
  49. err := Db.Debug().Model(&s).Where(&NoticeSet{TenantId: s.TenantId}).Find(&list).Error
  50. return list, err
  51. }
  52. func (s NoticeSet) GetById() (NoticeSet, error) {
  53. var data NoticeSet
  54. err := Db.Debug().Model(&s).Where(&NoticeSet{DeviceSn: s.DeviceSn}).First(&data).Error
  55. return data, err
  56. }
  57. func (s *NoticeSet) Delete() error {
  58. err := Db.Debug().Where(&NoticeSet{
  59. DeviceSn: s.DeviceSn,
  60. }).Delete(&s).Error
  61. return err
  62. }