From fb8ff40f7ce5dfebdf66306c6d85625061faf7e5 Mon Sep 17 00:00:00 2001 From: PandaX-Go Date: Thu, 20 Feb 2025 19:09:39 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=E7=BC=BA=E5=B0=91=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nodes/action_save_attributes_node.go | 46 ++++++++++--------- .../nodes/action_save_timeseries_node.go | 44 ++++++++++-------- 2 files changed, 49 insertions(+), 41 deletions(-) diff --git a/pkg/rule_engine/nodes/action_save_attributes_node.go b/pkg/rule_engine/nodes/action_save_attributes_node.go index 494f213..447c46f 100644 --- a/pkg/rule_engine/nodes/action_save_attributes_node.go +++ b/pkg/rule_engine/nodes/action_save_attributes_node.go @@ -2,8 +2,12 @@ package nodes import ( "errors" + "pandax/apps/device/entity" + "pandax/apps/device/services" "pandax/pkg/global" "pandax/pkg/rule_engine/message" + "strings" + "time" ) type saveAttributesNode struct { @@ -40,28 +44,28 @@ 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 - } + 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 { n.Debug(msg, message.DEBUGOUT, err.Error()) if failureLabelNode != nil { diff --git a/pkg/rule_engine/nodes/action_save_timeseries_node.go b/pkg/rule_engine/nodes/action_save_timeseries_node.go index 5362673..ba31588 100644 --- a/pkg/rule_engine/nodes/action_save_timeseries_node.go +++ b/pkg/rule_engine/nodes/action_save_timeseries_node.go @@ -2,8 +2,12 @@ package nodes import ( "errors" + "pandax/apps/device/entity" + "pandax/apps/device/services" "pandax/pkg/global" "pandax/pkg/rule_engine/message" + "strings" + "time" ) type saveTimeSeriesNode struct { @@ -40,26 +44,26 @@ func (n *saveTimeSeriesNode) 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.TelemetrgMes)}) - 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 - } + 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.TelemetryMes)}) + 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) if err != nil { n.Debug(msg, message.DEBUGOUT, err.Error())