NatsColdApi.go 989 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package NatsServer
  2. import (
  3. "ColdVerify_server/lib"
  4. "ColdVerify_server/logs"
  5. "errors"
  6. "github.com/vmihailenco/msgpack/v5"
  7. "time"
  8. )
  9. func Cold_UpdateDevice_CalibrationTime(T_sn, T_CalibrationExpirationTime string) error {
  10. logs.Println("Nats =>", lib.FuncName(), T_sn, T_CalibrationExpirationTime)
  11. type T_Req struct {
  12. T_sn string
  13. T_CalibrationTime string
  14. }
  15. t_r := T_Req{
  16. T_sn: T_sn,
  17. T_CalibrationTime: T_CalibrationExpirationTime,
  18. }
  19. b, err := msgpack.Marshal(&t_r)
  20. if err != nil {
  21. logs.Error("Nats =>", "msgpack Marshal err", err)
  22. return err
  23. }
  24. msg, err := lib.Nats.Request("Cold_UpdateDevice_CalibrationTime", b, 3*time.Second)
  25. if err != nil {
  26. return err
  27. }
  28. type T_R struct {
  29. Code int16 `xml:"Code"`
  30. Msg string `xml:"Msg"`
  31. Data interface{} `xml:"Data"`
  32. }
  33. var t_R T_R
  34. err = msgpack.Unmarshal(msg.Data, &t_R)
  35. if err != nil {
  36. return err
  37. }
  38. if t_R.Code != 200 {
  39. return errors.New(t_R.Msg)
  40. }
  41. return nil
  42. }