From 8324f872ef3a4d0c978a9b1d062800c6a1701c12 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期五, 01 十二月 2023 09:58:17 +0800 Subject: [PATCH] fix --- service/device_plc.go | 49 +++++++++++++++++++++++++++++++++---------------- 1 files changed, 33 insertions(+), 16 deletions(-) diff --git a/service/device_plc.go b/service/device_plc.go index 7ec6fee..a643653 100644 --- a/service/device_plc.go +++ b/service/device_plc.go @@ -1,13 +1,15 @@ package service import ( + "apsClient/conf" "apsClient/model" "apsClient/model/request" "apsClient/pkg/ecode" "apsClient/pkg/logx" "apsClient/pkg/structx" "encoding/json" - "gorm.io/gorm" + "errors" + "github.com/jinzhu/gorm" ) type DevicePlcService struct{} @@ -16,26 +18,42 @@ return DevicePlcService{} } -func (DevicePlcService) GetDevicePlc() (*model.DevicePlc, int) { - DevicePlc, err := model.NewDevicePlcSearch().SetOrder("id desc").First() +func (slf DevicePlcService) GetDevicePlc() (*model.DevicePlc, int) { + devicePlc, err := model.NewDevicePlcSearch().SetDeviceId(conf.Conf.CurrentDeviceID).First() if err == gorm.ErrRecordNotFound { + logx.Errorf("GetDevicePlc failed:%v", err) return &model.DevicePlc{ - Brand: "", - Method: "", - PortName: "", - Frequency: 0, - Address: "", - Port: 0, - IsOpen: false, - Detail: "", - Details: make([]*model.DevicePlcAddress, 0), + DeviceID: "", + Brand: "", + Method: "", + Address: "", + Port: 0, + BaudRate: 0, + SerialName: "", + DataBit: 0, + StopBit: 0, + Parity: 0, + IsOpen: false, + Details: make([]*model.DevicePlcAddress, 0), }, ecode.OK } if err != nil { + logx.Errorf("GetDevicePlc failed:%v", err) return nil, ecode.DBErr } + if len(devicePlc.Details) == 0 { + return nil, ecode.PlcAddressError + } - return DevicePlc, ecode.OK + return devicePlc, ecode.OK +} + +func (slf DevicePlcService) GetDeviceChannelAmount() (int, error) { + device, err := model.NewDeviceSearch().SetDeviceId(conf.Conf.CurrentDeviceID).First() + if err != nil { + return 0, errors.New("娌℃湁鎵惧埌褰撳墠璁惧") + } + return device.ExtChannelAmount + 1, nil } func (DevicePlcService) UpdateDevicePlc(plc *request.UpdatePlc) int { @@ -51,11 +69,10 @@ return ecode.ParamsErr } record.Detail = string(detail) - - if plc.Id == 0 { + if record.ID == 0 { err = model.NewDevicePlcSearch().Create(&record) } else { - err = model.NewDevicePlcSearch().SetId(plc.Id).Save(&record) + err = model.NewDevicePlcSearch().Save(&record) } if err != nil { -- Gitblit v1.8.0