| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- package fwh_test
- import (
- "fmt"
- "fwh-toolbox-server/domain"
- "net/url"
- "strconv"
- )
- // 召唤EMS日志
- func queryCallEmsLog(sn string, dateStr string, logType int) (*domain.FwhResponse[bool], error) {
- // 要发送的表单数据
- // form := url.Values{}
- // form.Set("gatewayId", sn) // SN
- // form.Set("logEqSn", sn) // SN
- // form.Set("logId", sn) // SN
- // form.Set("logTime", dateStr) // 日志时间
- // form.Set("logType", strconv.Itoa(logType)) // 日志类型 4-IBG运行日志 7-电池日志 9-设备系统资源监控日志 10-4G日志 11-AWS日志 12-主进程日志
- // form.Set("lang", "ZH_CN")
- form := map[string]interface{}{
- "gatewayId": sn,
- "logEqSn": sn,
- "logId": sn,
- "logTime": dateStr,
- "logType": logType,
- "lang": "ZH_CN",
- }
- response, err := FwhHttpPostUnmarshal[bool](getFullEnergyUrl("/hes-gateway/manage/logFileCall"), form)
- if err != nil {
- return nil, err
- }
- return response, nil
- }
- // 召唤EMS日志
- func QueryCallEmsLog(sn string, dateStr string, logType int) error {
- // 查询告警快照数据
- callRes, err := queryCallEmsLog(sn, dateStr, logType)
- if err != nil {
- return fmt.Errorf("[QueryCallEmsLog] %s", err.Error())
- }
- if callRes.Code != 200 {
- return fmt.Errorf("[QueryCallEmsLog] 查询失败 code: %d, message: %s", callRes.Code, callRes.Message)
- }
- if callRes.Result == nil || !*callRes.Result {
- return fmt.Errorf("[QueryCallEmsLog] 查询失败 code: %d, result: %v, message: %s", callRes.Code, callRes.Result, callRes.Message)
- }
- return nil
- }
- // 查询EMS日志下载地址
- func queryEmsLogCallRecord(sn string) (*domain.FwhResponse[[]domain.EmsLogRecordInfo], error) {
- // 构造 query 参数
- params := url.Values{}
- params.Add("linkId", sn) // SN
- params.Add("pageIndex", strconv.Itoa(1))
- params.Add("pageSize", strconv.FormatUint(REQ_PAGE_SIZE, 10))
- params.Add("pageNum", strconv.Itoa(1))
- params.Add("lang", "ZH_CN")
- response, err := FwhHttpGetUnmarshal[[]domain.EmsLogRecordInfo](getFullEnergyUrl("/hes-gateway/manage/iotDeviceFileRecords"), params)
- if err != nil {
- return nil, err
- }
- return response, nil
- }
- // 查询EMS日志下载地址
- func QueryEmsLogCallRecord(sn string, dateStr string, logType int) (*domain.EmsLogRecordInfo, error) {
- // 查询告警快照数据
- callRecordRes, err := queryEmsLogCallRecord(sn)
- if err != nil {
- return nil, fmt.Errorf("[QueryEmsLogCallRecord] %s", err.Error())
- }
- if callRecordRes.Code != 200 {
- return nil, fmt.Errorf("[QueryEmsLogCallRecord] 查询失败 code: %d, message: %s", callRecordRes.Code, callRecordRes.Message)
- }
- for _, record := range *callRecordRes.Result {
- if record.LogTime == dateStr && record.CodeType == logType {
- return &record, nil
- }
- }
- return nil, fmt.Errorf("[QueryEmsLogCallRecord] 没有召唤日志")
- }
- // 请求下载EMS日志文件
- func QueryDownloadEmsLogFile(filePath string) ([]byte, error) {
- response, err := FwhHttpGet(getFullEnergyUrl("/hes-upload/v1/file/download/"+filePath), url.Values{})
- if err != nil {
- return nil, err
- }
- return response.Body, nil
- }
|