fwh_realtimeAalrm.go 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package fwh_test
  2. import (
  3. "fmt"
  4. "fwh-toolbox-server/domain"
  5. "fwh-toolbox-server/dto"
  6. "net/url"
  7. "strconv"
  8. )
  9. // 查询站点告警信息
  10. func querySiteAlarmList(sn string) (*domain.FwhPageResponse[[]dto.SiteAlarmList], error) {
  11. // 构造 query 参数
  12. params := url.Values{}
  13. params.Add("gatewayId", sn)
  14. params.Add("land", "ZH_CN")
  15. response, err := FwhHttpGetUnmarshalPage[[]dto.SiteAlarmList](getFullEnergyUrl("/hes-gateway/manage/getEquipmentAlarm"), params)
  16. if err != nil {
  17. return nil, err
  18. }
  19. return response, nil
  20. }
  21. // 从fwh_test获取站点告警列表
  22. func QuerySiteAlarmList(site string) (*domain.FwhPageResponse[[]dto.SiteAlarmList], error) {
  23. siteAlarmListRes, err := querySiteAlarmList(site)
  24. if err != nil {
  25. return nil, err
  26. }
  27. if siteAlarmListRes.Code != 200 {
  28. return nil, fmt.Errorf("[QuerySiteAlarmList] 查询失败 code: %d, message: %s", siteAlarmListRes.Code, siteAlarmListRes.Message)
  29. }
  30. return siteAlarmListRes, nil
  31. }
  32. // 查询实时告警统计数据
  33. func queryAlarmStatistics(country domain.CountryType, page int) (*domain.FwhResponseB[domain.AlarmStatisticsData[domain.AlarmStatisticsInfo]], error) {
  34. // 构造 query 参数
  35. params := url.Values{}
  36. if country == domain.CTRY_ALL {
  37. params.Add("countryId", "") // 0-ALL
  38. } else {
  39. params.Add("countryId", strconv.Itoa(int(country))) // 2-美国 3-澳大利亚 5-加拿大 6-新西兰 51-巴巴多斯
  40. }
  41. params.Add("pageSize", strconv.FormatUint(REQ_PAGE_SIZE, 10))
  42. params.Add("pageNum", strconv.Itoa(page))
  43. params.Add("land", "ZH_CN")
  44. response, err := FwhHttpGetUnmarshalB[domain.AlarmStatisticsData[domain.AlarmStatisticsInfo]](getFullEnergyUrl("/api-inspect/currentAlarm/listCurrentAlarm"), params)
  45. if err != nil {
  46. return nil, err
  47. }
  48. return response, nil
  49. }
  50. // 从fwh_test获取实时告警统计数据
  51. func QueryAlarmStatistics(country domain.CountryType, page int) (*domain.FwhResponseB[domain.AlarmStatisticsData[domain.AlarmStatisticsInfo]], error) {
  52. alarmStatisticsListRes, err := queryAlarmStatistics(country, page)
  53. if err != nil {
  54. return nil, err
  55. }
  56. if alarmStatisticsListRes.Code != 200 {
  57. return nil, fmt.Errorf("[QueryAlarmStatistics] 查询失败 code: %d, message: %s", alarmStatisticsListRes.Code, alarmStatisticsListRes.Msg)
  58. }
  59. return alarmStatisticsListRes, nil
  60. }
  61. // 查询实时告警码的站点统计数据
  62. func queryAlarmStatisticsFromCode(country domain.CountryType, alarmCode string, page int) (*domain.FwhResponseB[domain.AlarmStatisticsData[domain.AlarmStatisticsFromCodeInfo]], error) {
  63. // 构造 query 参数
  64. params := url.Values{}
  65. if country == domain.CTRY_ALL {
  66. params.Add("countryId", "") // 0-ALL
  67. } else {
  68. params.Add("countryId", strconv.Itoa(int(country))) // 2-美国 3-澳大利亚 5-加拿大 6-新西兰 51-巴巴多斯
  69. }
  70. params.Add("alarmCode", alarmCode)
  71. params.Add("pageSize", strconv.FormatUint(REQ_PAGE_SIZE, 10))
  72. params.Add("pageNum", strconv.Itoa(page))
  73. params.Add("land", "ZH_CN")
  74. response, err := FwhHttpGetUnmarshalB[domain.AlarmStatisticsData[domain.AlarmStatisticsFromCodeInfo]](getFullEnergyUrl("/api-inspect/currentAlarm/listDeviceByAlarm"), params)
  75. if err != nil {
  76. return nil, err
  77. }
  78. return response, nil
  79. }
  80. // 从fwh_test获取实时告警码的站点统计数据
  81. func QueryAlarmStatisticsFromCode(country domain.CountryType, alarmCode string, page int) (*domain.FwhResponseB[domain.AlarmStatisticsData[domain.AlarmStatisticsFromCodeInfo]], error) {
  82. alarmStatisticsListRes, err := queryAlarmStatisticsFromCode(country, alarmCode, page)
  83. if err != nil {
  84. return nil, err
  85. }
  86. if alarmStatisticsListRes.Code != 200 {
  87. return nil, fmt.Errorf("[QueryAlarmStatisticsFromCode] 查询失败 code: %d, message: %s", alarmStatisticsListRes.Code, alarmStatisticsListRes.Msg)
  88. }
  89. return alarmStatisticsListRes, nil
  90. }