liuhaijun e94826ce29 add server
Change-Id: I0760f17f6a01c0121b59fcbfafc666032dbc30af
2024-09-19 09:44:15 +00:00

46 lines
1.1 KiB
Go

package service
import (
"encoding/base64"
"fmt"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/data"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/model/message"
"github.com/goccy/go-json"
"github.com/golang/glog"
"strings"
"time"
)
func GetDeviceLogs(funcName, serialNo string, lineNum int64) ([]string, error) {
boy := map[string]interface{}{
"lineNum": lineNum,
}
body, _ := json.Marshal(boy)
sub := strings.ReplaceAll(message.TO_AGENT_UNICAST_SUBJECT, "{rid}", serialNo)
dat := message.MsgModel{
Body: body,
Func: funcName,
Rid: serialNo,
Version: "v1",
}
payload, _ := json.Marshal(dat)
msg, err := data.Nc.Request(sub, payload, 10*time.Second)
if err != nil {
glog.Errorf("查询日志请求失败:%v", err)
return nil, err
}
res, err := message.UnmarshalMsgRespModel(msg.Data)
if err != nil {
glog.Errorf("日志反序列化失败:%v", err)
return nil, err
}
if res.Code != 200 {
glog.Error("查询日志返回数据异常!")
return nil, err
}
deStr, err := base64.StdEncoding.DecodeString(fmt.Sprint(res.Data))
result := make([]string, 0)
json.Unmarshal(deStr, &result)
return result, nil
}