AddWarning.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package NatsServer
  2. import (
  3. "Cold_mqtt/lib"
  4. "Cold_mqtt/logs"
  5. "github.com/vmihailenco/msgpack/v5"
  6. "time"
  7. )
  8. type T_Warning struct {
  9. T_tp int `xml:"T_tp"` // 报警类型 ->WarningList
  10. T_sn string `xml:"T_sn"` // 设备序列号
  11. T_D_name string `xml:"T_D_name"` // 设备名称
  12. T_id int `xml:"T_id"` // 传感器 ID
  13. T_DS_name string `xml:"T_DS_name"` // 传感器名称
  14. T_Remark string `xml:"T_Remark"` // 采集内容
  15. T_Ut time.Time `xml:"T_Ut"` // 采集时间
  16. T_ToAdmin []int `xml:"T_ToAdmin"` // 发送给谁 Admin.Id
  17. }
  18. func AddWarning(r T_Warning) bool {
  19. b, err := msgpack.Marshal(&r)
  20. if err != nil {
  21. logs.PrintlnError("AddWarning", err)
  22. }
  23. // 请求-响应, 向 test3 发布一个 `help me` 请求数据,设置超时间3秒,如果有多个响应,只接收第一个收到的消息
  24. msg, err := lib.Nats.Request("AddWarning", b, 3*time.Second)
  25. if err != nil {
  26. logs.PrintlnError("AddWarning", err)
  27. } else {
  28. logs.Println("AddWarning : %s\n", string(msg.Data))
  29. return true
  30. }
  31. return false
  32. }