From fecd8ff508b33715cbe24ca892fc19a2d1ad1ef5 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期一, 06 十一月 2023 16:34:05 +0800
Subject: [PATCH] 加锁解决同时读串口时报的资源不可用和超时报错

---
 service/device.go |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/service/device.go b/service/device.go
index 06b2e47..8ad1d23 100644
--- a/service/device.go
+++ b/service/device.go
@@ -4,11 +4,16 @@
 	"apsClient/conf"
 	"apsClient/model"
 	"apsClient/pkg/logx"
+	"github.com/jinzhu/gorm"
 	"os"
+	"strings"
 )
 
 func GetDeviceIDList() (deviceIds []string, err error) {
 	devices, err := model.NewDeviceSearch().SetDeviceMac(conf.Conf.System.DeviceId).FindNotTotal()
+	if err == gorm.ErrRecordNotFound {
+		return nil, nil
+	}
 	if err != nil {
 		return nil, err
 	}
@@ -31,9 +36,9 @@
 	}
 	if len(deviceList) == 0 {
 		conf.Conf.CurrentDeviceID = conf.Conf.System.DeviceId
-		return nil
+	} else {
+		conf.Conf.CurrentDeviceID = deviceList[0]
 	}
-	conf.Conf.CurrentDeviceID = deviceList[0]
 	SetDeviceIDToFile(conf.Conf.CurrentDeviceID)
 	return nil
 }
@@ -55,5 +60,8 @@
 		logx.Errorf("鏃犳硶璇诲彇璁惧ID鏂囦欢: %v\n", err)
 		return ""
 	}
-	return string(data)
+	deviceId := string(data)
+	deviceId = strings.TrimSpace(deviceId)
+	deviceId = strings.Trim(deviceId, "\n")
+	return deviceId
 }

--
Gitblit v1.8.0