From a303829fe0c19d5683d8dddb5a9a8d0001d40ef5 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期五, 20 十月 2023 22:48:07 +0800
Subject: [PATCH] 保存全部plc地址

---
 nsq/msg_handler.go |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/nsq/msg_handler.go b/nsq/msg_handler.go
index 1f32e77..d0cea52 100644
--- a/nsq/msg_handler.go
+++ b/nsq/msg_handler.go
@@ -297,8 +297,16 @@
 	}
 	detail, err := json.Marshal(record.Details)
 	record.Detail = string(detail)
-	record.ID = 1
-	err = model.NewDevicePlcSearch().SetId(record.ID).Save(&record)
+
+	oldPlcRecord, err := model.NewDevicePlcSearch().SetDeviceId(msg.ID).First()
+	if err == gorm.ErrRecordNotFound {
+		err = model.NewDevicePlcSearch().Create(&record)
+	} else if record.Port != oldPlcRecord.Port ||
+		record.Method != oldPlcRecord.Method ||
+		record.Address != oldPlcRecord.Address ||
+		record.Detail != oldPlcRecord.Detail {
+		err = model.NewDevicePlcSearch().SetDeviceId(msg.ID).Save(&record)
+	}
 	if err != nil {
 		return err
 	}

--
Gitblit v1.8.0