From cab6eea89a0d82710369604ecb51f1cdb122e433 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期四, 19 十月 2023 17:26:34 +0800 Subject: [PATCH] fix --- service/device_plc.go | 34 +++++++++++++++++++++++----------- 1 files changed, 23 insertions(+), 11 deletions(-) diff --git a/service/device_plc.go b/service/device_plc.go index 7ec6fee..90c3e51 100644 --- a/service/device_plc.go +++ b/service/device_plc.go @@ -7,7 +7,8 @@ "apsClient/pkg/logx" "apsClient/pkg/structx" "encoding/json" - "gorm.io/gorm" + "errors" + "github.com/jinzhu/gorm" ) type DevicePlcService struct{} @@ -16,19 +17,19 @@ return DevicePlcService{} } -func (DevicePlcService) GetDevicePlc() (*model.DevicePlc, int) { +func (slf DevicePlcService) GetDevicePlc() (*model.DevicePlc, int) { DevicePlc, err := model.NewDevicePlcSearch().SetOrder("id desc").First() if err == gorm.ErrRecordNotFound { return &model.DevicePlc{ - Brand: "", - Method: "", - PortName: "", - Frequency: 0, - Address: "", - Port: 0, - IsOpen: false, - Detail: "", - Details: make([]*model.DevicePlcAddress, 0), + Brand: "", + Method: "", + Address: "", + Port: 0, + BaudRate: 0, + SerialName: "", + IsOpen: false, + Detail: "", + Details: make([]*model.DevicePlcAddress, 0), }, ecode.OK } if err != nil { @@ -38,6 +39,17 @@ return DevicePlc, ecode.OK } +func (slf DevicePlcService) GetDeviceChannelAmount() (int, error) { + plcConfig, code := slf.GetDevicePlc() + if code != ecode.OK || plcConfig.ID == 0 { + return 0, errors.New("鏈幏鍙栧埌PLC鍦板潃锛岃鍦ㄥ伐鑹烘ā鍨嬪簱涓笂浼狅紒") + } + if len(plcConfig.Details) == 0 { + return 0, errors.New("鏈幏鍙栧埌PLC鍦板潃锛岃鍦ㄥ伐鑹烘ā鍨嬪簱涓笂浼狅紒") + } + return len(plcConfig.Details) / 2, nil +} + func (DevicePlcService) UpdateDevicePlc(plc *request.UpdatePlc) int { var record model.DevicePlc err := structx.AssignTo(plc, &record) -- Gitblit v1.8.0