mirror of
https://gitee.com/XM-GO/PandaX.git
synced 2026-04-23 02:48:34 +08:00
@@ -40,6 +40,27 @@ func (n *saveAttributesNode) Handle(msg *message.Message) error {
|
|||||||
} else {
|
} else {
|
||||||
return errors.New("元数据中为获取到设备ID")
|
return errors.New("元数据中为获取到设备ID")
|
||||||
}
|
}
|
||||||
|
msgData := make(map[string]any)
|
||||||
|
// 去掉多余的参数
|
||||||
|
if pid, ok := msg.Metadata.GetValue("productId").(string); ok {
|
||||||
|
pts, err := services.ProductTemplateModelDao.FindList(entity.ProductTemplate{Pid: pid, Classify: strings.ToLower(message.AttributesMes)})
|
||||||
|
if err != nil {
|
||||||
|
return errors.New("为获取到设备物模型信息")
|
||||||
|
}
|
||||||
|
for _, pt := range *pts {
|
||||||
|
value := msg.Msg.GetValue(pt.key)
|
||||||
|
msgData[pt.key] = value
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return errors.New("元素组中为获取到设备ID")
|
||||||
|
}
|
||||||
|
ts := msg.Msg.GetValue("ts")
|
||||||
|
if ts == nil {
|
||||||
|
msgData["ts"] = time.Now().Local().Format("2006-01-02 15:04:05.000")
|
||||||
|
} else {
|
||||||
|
msgData["ts"] = ts
|
||||||
|
}
|
||||||
|
err := global.TdDb.InsertDevice(deviceName+"_telemetry", msgData)
|
||||||
err := global.TdDb.InsertDevice(deviceName+"_attributes", msg.Msg)
|
err := global.TdDb.InsertDevice(deviceName+"_attributes", msg.Msg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
n.Debug(msg, message.DEBUGOUT, err.Error())
|
n.Debug(msg, message.DEBUGOUT, err.Error())
|
||||||
|
|||||||
Reference in New Issue
Block a user