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