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 {
|
||||
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)
|
||||
if err != nil {
|
||||
n.Debug(msg, message.DEBUGOUT, err.Error())
|
||||
|
||||
Reference in New Issue
Block a user