From 3f118683ec4079f6ff4ccca8a8ed080219c1fb8a Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期一, 04 十二月 2023 19:27:23 +0800
Subject: [PATCH] 接收bashboard消息并存储

---
 nsq/msg_handler.go |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/nsq/msg_handler.go b/nsq/msg_handler.go
index a45aed8..423011f 100644
--- a/nsq/msg_handler.go
+++ b/nsq/msg_handler.go
@@ -433,3 +433,28 @@
 	}
 	return nil
 }
+
+type Dashboard struct {
+	Topic string
+}
+
+func (slf *Dashboard) HandleMessage(data []byte) (err error) {
+	logx.Infof("dashboard message: %s", data)
+	var dashboard model.Dashboard
+	err = json.Unmarshal(data, &dashboard)
+	if err != nil {
+		logx.Infof("unmarshal msg err :%s", err)
+		return err
+	}
+	old, err := model.NewDashboardSearch(nil).SetVersion(dashboard.Version).First()
+	if err == gorm.ErrRecordNotFound {
+		err = model.NewDashboardSearch(nil).SetVersion(dashboard.Version).Create(&dashboard)
+	} else {
+		err = model.NewDashboardSearch(nil).SetId(old.ID).Updates(&dashboard)
+	}
+	if err != nil {
+		logx.Infof("process pull data  err :%s", err)
+		return err
+	}
+	return nil
+}

--
Gitblit v1.8.0