package service
|
|
import (
|
"encoding/json"
|
"vamicro/saas-service/service/nodeService"
|
|
"basic.com/valib/go-aiot.git/aiotProto/aiot"
|
"basic.com/valib/go-aiot.git/client"
|
"basic.com/valib/logger.git"
|
)
|
|
// 同步集群数据
|
func syncClusterData(cli *client.Client) {
|
data := nodeService.Node
|
|
// 非集群信息,不在syncClusterData报,在syncDeviceSdkApp里报
|
if data.ClusterId == "" {
|
logger.Info("is not cluster, no report cluster info")
|
return
|
}
|
msgData, err := json.Marshal(data)
|
if err != nil {
|
logger.Error("Fail to marshal cluster data to saas", err)
|
}
|
|
report := aiot.DataReport{
|
DataKey: ClusterDataReport,
|
Data: msgData,
|
}
|
logger.Debugf("syncClusterData data=%v, dataKey=%v", string(msgData), report.DataKey)
|
// 集群数据拼装
|
reportData, _ := json.Marshal(report)
|
syncData := &aiot.Protocol{
|
Receiver: aiot.RECEIVER_TO_SAAS,
|
SenderId: nodeService.Node.NodeId,
|
MsgType: aiot.MSG_TYPE_DATA_REPORT,
|
ReqType: aiot.REQ_TYPE_REQUEST,
|
MsgProto: client.GetMsgProto(""),
|
Data: reportData,
|
}
|
// 上报集群数据
|
_ = cli.WriteBody(syncData)
|
}
|