NatsColdApi.go 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. package nats_server
  2. import (
  3. "cold-logistics/common/nats"
  4. "cold-logistics/conf"
  5. "errors"
  6. "github.com/vmihailenco/msgpack/v5"
  7. "time"
  8. )
  9. func Cold_CompanyDeviceSensor_List_ByKey(T_sn string) (data []DeviceSensor_R, count int64, err error) {
  10. type T_Req struct {
  11. T_sn string `xml:"T_sn"`
  12. T_key string `xml:"T_key"`
  13. }
  14. t_Req := T_Req{
  15. T_sn: T_sn,
  16. T_key: conf.ExtConfig.Nats.Key,
  17. }
  18. b, _ := msgpack.Marshal(&t_Req)
  19. msg, err := nats.Nats.Request("Cold_CompanyDeviceSensor_List_ByKey", b, 3*time.Second)
  20. if err != nil {
  21. return
  22. }
  23. type T_R struct {
  24. Code int16 `xml:"Code"`
  25. Msg string `xml:"Msg"`
  26. Count int64 `xml:"Count"`
  27. Data []DeviceSensor_R `xml:"Data"` // 泛型
  28. }
  29. var t_R T_R
  30. err = msgpack.Unmarshal(msg.Data, &t_R)
  31. if err != nil {
  32. return
  33. }
  34. if t_R.Code != 200 {
  35. err = errors.New(t_R.Msg)
  36. }
  37. return t_R.Data, t_R.Count, nil
  38. }
  39. func Cold_ReadDeviceDataListBy_T_snid(T_snid, startTime, endTime string, page, page_z int) (data []DeviceData_R, count int64, err error) {
  40. type T_Req struct {
  41. T_snid string `xml:"T_snid"`
  42. Time_start string `xml:"Time_start"`
  43. Time_end string `xml:"Time_end"`
  44. Page int `xml:"Page"`
  45. Page_z int `xml:"Page_z"`
  46. }
  47. t_Req := T_Req{
  48. T_snid: T_snid,
  49. Time_start: startTime,
  50. Time_end: endTime,
  51. Page: page,
  52. Page_z: page_z,
  53. }
  54. b, _ := msgpack.Marshal(&t_Req)
  55. msg, err := nats.Nats.Request("Cold_ReadDeviceDataListBy_T_snid", b, 3*time.Second)
  56. if err != nil {
  57. return
  58. }
  59. type T_R struct {
  60. Code int16 `xml:"Code"`
  61. Msg string `xml:"Msg"`
  62. Count int64 `xml:"Count"`
  63. Data []DeviceData_R `xml:"Data"` // 泛型
  64. }
  65. var t_R T_R
  66. err = msgpack.Unmarshal(msg.Data, &t_R)
  67. if err != nil {
  68. return
  69. }
  70. if t_R.Code != 200 {
  71. err = errors.New(t_R.Msg)
  72. }
  73. return t_R.Data, t_R.Count, nil
  74. }
  75. func Cold_ReadDeviceDataListBy_T_snidForLocus(T_snid, startTime, endTime string, page, page_z int) (data []DeviceData_R2, count int64, err error) {
  76. type T_Req struct {
  77. T_snid string `xml:"T_snid"`
  78. Time_start string `xml:"Time_start"`
  79. Time_end string `xml:"Time_end"`
  80. Page int `xml:"Page"`
  81. Page_z int `xml:"Page_z"`
  82. }
  83. t_Req := T_Req{
  84. T_snid: T_snid,
  85. Time_start: startTime,
  86. Time_end: endTime,
  87. Page: page,
  88. Page_z: page_z,
  89. }
  90. b, _ := msgpack.Marshal(&t_Req)
  91. msg, err := nats.Nats.Request("Cold_ReadDeviceDataListBy_T_snid", b, 3*time.Second)
  92. if err != nil {
  93. return
  94. }
  95. type T_R struct {
  96. Code int16 `xml:"Code"`
  97. Msg string `xml:"Msg"`
  98. Count int64 `xml:"Count"`
  99. Data []DeviceData_R2 `xml:"Data"` // 泛型
  100. }
  101. var t_R T_R
  102. err = msgpack.Unmarshal(msg.Data, &t_R)
  103. if err != nil {
  104. return
  105. }
  106. if t_R.Code != 200 {
  107. err = errors.New(t_R.Msg)
  108. }
  109. return t_R.Data, t_R.Count, nil
  110. }