From 02a84fb6fb2a39bfe7fc5cf6c0137bbf231b17fe Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期四, 09 十一月 2023 14:14:17 +0800 Subject: [PATCH] 设备列表返回是否设置工艺参数字段 --- service/device.go | 67 +++++++++++++++++++++++++++++++-- 1 files changed, 62 insertions(+), 5 deletions(-) diff --git a/service/device.go b/service/device.go index f778f25..f09559e 100644 --- a/service/device.go +++ b/service/device.go @@ -3,12 +3,19 @@ import ( "apsClient/conf" "apsClient/model" - "fmt" + "apsClient/model/response" + "apsClient/pkg/logx" + "errors" + "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 } @@ -19,22 +26,72 @@ return deviceIds, nil } +func GetDeviceList() (deviceList []*response.Device, 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 + } + deviceList = make([]*response.Device, 0, len(devices)) + for _, device := range devices { + deviceList = append(deviceList, &response.Device{ + DeviceID: device.DeviceID, + DeviceName: device.DeviceName, + NeedSetProcessParams: device.NeedSetProcessParams, + }) + } + return deviceList, nil +} + +func InitCurrentDeviceID() (err error) { + currentDeviceID := ReadDeviceIDFromFile() + if currentDeviceID != "" { + conf.Conf.CurrentDeviceID = currentDeviceID + return + } + deviceList, err := GetDeviceIDList() + if err != nil { + return err + } + if len(deviceList) == 0 { + conf.Conf.CurrentDeviceID = conf.Conf.System.DeviceId + } else { + conf.Conf.CurrentDeviceID = deviceList[0] + } + SetDeviceIDToFile(conf.Conf.CurrentDeviceID) + return nil +} + const deviceIDFile = "currentDeviceID.txt" func SetDeviceIDToFile(deviceID string) { err := os.WriteFile(deviceIDFile, []byte(deviceID), 0644) if err != nil { - fmt.Printf("鏃犳硶鍐欏叆璁惧ID鍒版枃浠�: %v\n", err) + logx.Errorf("鏃犳硶鍐欏叆璁惧ID鍒版枃浠�: %v\n", err) } else { - fmt.Println("璁惧ID宸插啓鍏ユ枃浠�") + logx.Infof("璁惧ID宸插啓鍏ユ枃浠�") } } func ReadDeviceIDFromFile() string { data, err := os.ReadFile(deviceIDFile) if err != nil { - fmt.Printf("鏃犳硶璇诲彇璁惧ID鏂囦欢: %v\n", err) + logx.Errorf("鏃犳硶璇诲彇璁惧ID鏂囦欢: %v\n", err) return "" } - return string(data) + deviceId := string(data) + deviceId = strings.TrimSpace(deviceId) + deviceId = strings.Trim(deviceId, "\n") + return deviceId +} + +func UpdateDevice(deviceId string, needSetProcessParams bool) (err error) { + device, err := model.NewDeviceSearch().SetDeviceId(deviceId).First() + if err == gorm.ErrRecordNotFound { + return errors.New("璁惧涓嶅瓨鍦�") + } + device.NeedSetProcessParams = needSetProcessParams + return model.NewDeviceSearch().SetID(device.ID).Save(device) } -- Gitblit v1.8.0