package fwh_pro import ( "encoding/json" "fmt" "fwh-toolbox-server/config" "fwh-toolbox-server/domain" "net/url" "strconv" ) // 查询系统升级记录 func querySystemUpdateLog(sn string) ([]byte, error) { // 要发送的表单数据 form := url.Values{} form.Set("optType", "1") // 1-系统升级记录 2-下载记录(分步升级相关) form.Set("gatewayId", sn) // SN form.Set("pageSize", strconv.FormatUint(REQ_PAGE_SIZE, 10)) form.Set("pageNum", "1") url := fmt.Sprintf("https://%s/hes-gateway/manage/selectIotFirmwareOrderList", config.FWH_ENERGY) response, err := FwhHttpPost(url, form) if err != nil { return nil, err } return response.Body, nil } // 查询系统升级记录 func QuerySystemUpdateLog(sn string) ([]domain.SystemUpdateRecordInfo, error) { resByte, err := querySystemUpdateLog(sn) if err != nil { return nil, fmt.Errorf("[QuerySystemUpdateLog] %s", err.Error()) } var systemUpdateLog domain.FwhPageResponse[[]domain.SystemUpdateRecordInfo] // 反序列化(unmarshal) jsonErr := json.Unmarshal(resByte, &systemUpdateLog) if jsonErr != nil { return nil, fmt.Errorf("[QuerySystemUpdateLog] %s", jsonErr) } if systemUpdateLog.Code != 200 { return nil, fmt.Errorf("[QuerySystemUpdateLog] 查询失败 code: %d, message: %s", systemUpdateLog.Code, systemUpdateLog.Message) } return systemUpdateLog.Result, nil } // 查询系统升级记录详细信息 func querySystemUpdateLogDetail(orderId int64) ([]byte, error) { // 要发送的表单数据 form := url.Values{} form.Set("optType", "1") // 1-系统升级记录 2-下载记录(分步升级相关) form.Set("orderId", strconv.FormatInt(orderId, 10)) // 升级单ID form.Set("pageSize", strconv.FormatUint(REQ_PAGE_SIZE, 10)) form.Set("pageNum", "1") url := fmt.Sprintf("https://%s/hes-gateway/manage/selectIotFirmwareOrderDetailList", config.FWH_ENERGY) response, err := FwhHttpPost(url, form) if err != nil { return nil, err } return response.Body, nil } // 查询系统升级记录详细信息 func QuerySystemUpdateLogDetail(orderId int64) ([]domain.SystemUpdateDetailInfo, error) { resByte, err := querySystemUpdateLogDetail(orderId) if err != nil { return nil, fmt.Errorf("[QuerySystemUpdateLogDetail] %s", err.Error()) } var systemUpdateLogDetail domain.FwhPageResponse[[]domain.SystemUpdateDetailInfo] // 反序列化(unmarshal) jsonErr := json.Unmarshal(resByte, &systemUpdateLogDetail) if jsonErr != nil { return nil, fmt.Errorf("[QuerySystemUpdateLogDetail] %s", jsonErr) } if systemUpdateLogDetail.Code != 200 { return nil, fmt.Errorf("[QuerySystemUpdateLogDetail] 查询失败 code: %d, message: %s", systemUpdateLogDetail.Code, systemUpdateLogDetail.Message) } return systemUpdateLogDetail.Result, nil } // 查询aHub升级记录 func queryAHubUpdateLog(sn string) ([]byte, error) { // 构造 query 参数 params := url.Values{} params.Add("gatewayId", sn) // SN params.Add("pageSize", strconv.FormatUint(REQ_PAGE_SIZE, 10)) params.Add("pageNum", strconv.Itoa(1)) params.Add("lang", "ZH_CN") reqUrl := fmt.Sprintf("https://%s/hes-gateway/manage/listAhubFirmwareOrder", config.FWH_ENERGY) response, err := FwhHttpGet(reqUrl, params) if err != nil { return nil, err } return response.Body, nil } // 查询aHub升级记录 func QueryAHubUpdateLog(sn string) ([]domain.AHubUpdateRecordInfo, error) { resByte, err := queryAHubUpdateLog(sn) if err != nil { return nil, fmt.Errorf("[QueryAHubUpdateLog] %s", err.Error()) } var aHubUpdateLog domain.FwhPageResponse[[]domain.AHubUpdateRecordInfo] // 反序列化(unmarshal) jsonErr := json.Unmarshal(resByte, &aHubUpdateLog) if jsonErr != nil { return nil, fmt.Errorf("[QueryAHubUpdateLog] %s", jsonErr) } if aHubUpdateLog.Code != 200 { return nil, fmt.Errorf("[QueryAHubUpdateLog] 查询失败 code: %d, message: %s", aHubUpdateLog.Code, aHubUpdateLog.Message) } return aHubUpdateLog.Result, nil }