fwh_realtimeAalrm.go 977 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package fwh_pro
  2. import (
  3. "encoding/json"
  4. "errors"
  5. "fwh-toolbox-server/dto"
  6. "net/url"
  7. )
  8. // 查询站点告警信息
  9. func querySiteAlarmList(sn string) ([]byte, error) {
  10. // 构造 query 参数
  11. params := url.Values{}
  12. params.Add("gatewayId", sn)
  13. params.Add("land", "ZH_CN")
  14. return FwhHttpGet("https://energy.franklinwh.com/hes-gateway/manage/getEquipmentAlarm", params)
  15. }
  16. // 从fwh_pro获取站点告警列表
  17. func QuerySiteAlarmList(site string) (dto.SiteAlarmListResponse, error) {
  18. resByte, err := querySiteAlarmList(site)
  19. if err != nil {
  20. return dto.SiteAlarmListResponse{}, err
  21. }
  22. var siteAlarmListRes dto.SiteAlarmListResponse
  23. // 反序列化(unmarshal)
  24. jsonErr := json.Unmarshal(resByte, &siteAlarmListRes)
  25. if jsonErr != nil {
  26. return dto.SiteAlarmListResponse{}, jsonErr
  27. }
  28. if siteAlarmListRes.Code == 401 {
  29. // TODO 尝试重新登录
  30. return dto.SiteAlarmListResponse{}, errors.New("certification expired")
  31. }
  32. return siteAlarmListRes, nil
  33. }