fwh_realtimeAalrm.go 3.9 KB

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