From e9f6bf26943f3cc974d02a083cdac22af57e8cb4 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期五, 03 十一月 2023 15:46:57 +0800
Subject: [PATCH] 去掉换行
---
nsq/msg_handler.go | 69 +++++++++++++++-------------------
1 files changed, 31 insertions(+), 38 deletions(-)
diff --git a/nsq/msg_handler.go b/nsq/msg_handler.go
index 1ad713a..e791fff 100644
--- a/nsq/msg_handler.go
+++ b/nsq/msg_handler.go
@@ -267,12 +267,15 @@
DeviceID: msg.ID,
Procedures: strings.Join(procedures, ","),
ExtChannelAmount: msg.ExtChannelAmount,
+ DeviceMac: msg.DeviceMac,
}
oldRecord, err := model.NewDeviceSearch().SetDeviceId(msg.ID).First()
if err == gorm.ErrRecordNotFound {
err = model.NewDeviceSearch().Create(deviceRecord)
- } else if oldRecord.ExtChannelAmount != deviceRecord.ExtChannelAmount || oldRecord.Procedures != deviceRecord.Procedures {
+ } else if oldRecord.ExtChannelAmount != deviceRecord.ExtChannelAmount ||
+ oldRecord.Procedures != deviceRecord.Procedures ||
+ oldRecord.DeviceMac != deviceRecord.DeviceMac {
err = model.NewDeviceSearch().SetDeviceId(msg.ID).Save(deviceRecord)
}
@@ -281,7 +284,7 @@
return err
}
- if msg.PlcConfig.Method == "" {
+ if msg.PlcConfig == nil || msg.PlcConfig.Method == "" {
return nil
}
@@ -291,14 +294,33 @@
if err != nil {
logx.Infof("decode from PlcAddressList to DevicePlc Details err:%v", err)
}
- err = mapstructure.Decode(msg.PlcAddressList, &record.Details)
- if err != nil {
- logx.Infof("decode from PlcAddressList to DevicePlc Details err:%v", err)
- }
detail, err := json.Marshal(record.Details)
record.Detail = string(detail)
- record.ID = 1
- err = model.NewDevicePlcSearch().SetId(record.ID).Save(&record)
+ record.DeviceID = msg.ID
+ 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 ||
+ record.BaudRate != oldPlcRecord.BaudRate ||
+ record.SerialName != oldPlcRecord.SerialName ||
+ record.DataBit != oldPlcRecord.DataBit ||
+ record.StopBit != oldPlcRecord.StopBit ||
+ record.Parity != oldPlcRecord.Parity {
+
+ oldPlcRecord.Method = record.Method
+ oldPlcRecord.Address = record.Address
+ oldPlcRecord.Port = record.Port
+ oldPlcRecord.Detail = record.Detail
+ oldPlcRecord.BaudRate = record.BaudRate
+ oldPlcRecord.SerialName = record.SerialName
+ oldPlcRecord.DataBit = record.DataBit
+ oldPlcRecord.StopBit = record.StopBit
+ oldPlcRecord.Parity = record.Parity
+
+ err = model.NewDevicePlcSearch().Save(oldPlcRecord)
+ }
if err != nil {
return err
}
@@ -371,34 +393,5 @@
}
func (slf *PullDataResponse) DealDeviceData(data interface{}) error {
- var devices []*model.Device
- err := mapstructure.Decode(data, &devices)
- if err != nil {
- return err
- }
- numbers := make([]string, 0, len(devices))
- for _, item := range devices {
- numbers = append(numbers, item.DeviceID)
- }
- existsDevices, err := model.NewDeviceSearch().SetDeviceIds(numbers).FindNotTotal()
- if err != nil {
- return err
- }
-
- existsDeviceMap := make(map[string]*model.Device, len(existsDevices))
- for _, device := range existsDevices {
- existsDeviceMap[device.DeviceID] = device
- }
-
- for _, device := range devices {
- if oldDevice, exists := existsDeviceMap[device.DeviceID]; exists {
- if oldDevice.ExtChannelAmount != device.ExtChannelAmount || //todo to be continued
- oldDevice.Procedures != device.Procedures {
- err = model.NewDeviceSearch().SetDeviceId(device.DeviceID).Save(device)
- }
- } else {
- err = model.NewDeviceSearch().Create(device)
- }
- }
- return err
+ return nil
}
--
Gitblit v1.8.0