From cb7e30bb64945dfbd8288a20156f09c97a052075 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期六, 25 十一月 2023 17:45:18 +0800 Subject: [PATCH] fix --- model/device_plc.go | 13 ++++++++----- service/device_plc.go | 7 +++++-- pkg/ecode/code.go | 1 + api/v1/task.go | 2 +- pkg/ecode/msg.go | 9 +++++---- 5 files changed, 20 insertions(+), 12 deletions(-) diff --git a/api/v1/task.go b/api/v1/task.go index d65ab6c..afe8397 100644 --- a/api/v1/task.go +++ b/api/v1/task.go @@ -285,7 +285,7 @@ var processModelNumber string plcConfig, code := service.NewDevicePlcService().GetDevicePlc() - if code == ecode.OK && plcConfig.ID != 0 { + if code == ecode.OK && plcConfig.ID != 0 && len(plcConfig.Details) > 0 { plcConfig.MaxTryTimes = 2 device, err := service.GetCurrentDevice() if err != nil { diff --git a/model/device_plc.go b/model/device_plc.go index a098e81..a6e7331 100644 --- a/model/device_plc.go +++ b/model/device_plc.go @@ -57,12 +57,15 @@ } func (slf *DevicePlc) AfterFind(tx *gorm.DB) error { - details := make([]*DevicePlcAddress, 0) - err := json.Unmarshal([]byte(slf.Detail), &details) - if err != nil { - return err + if slf.Detail != "" { + details := make([]*DevicePlcAddress, 0) + err := json.Unmarshal([]byte(slf.Detail), &details) + if err != nil { + return err + } + slf.Details = details } - slf.Details = details + return nil } diff --git a/pkg/ecode/code.go b/pkg/ecode/code.go index bfc6b58..0d971c8 100644 --- a/pkg/ecode/code.go +++ b/pkg/ecode/code.go @@ -8,4 +8,5 @@ RedisErr = 2003 // redis閿欒 ParamsErr = 2004 // 璇锋眰鍙傛暟閿欒 NeedConfirmedErr = 2005 // 闇�瑕佸脊绐楃‘璁ょ殑閿欒 + PlcAddressError = 2006 //缂哄け鍔犲伐鏁板拰鐩爣鏁板湴鍧�閰嶇疆 ) diff --git a/pkg/ecode/msg.go b/pkg/ecode/msg.go index 92759ba..d850fb4 100644 --- a/pkg/ecode/msg.go +++ b/pkg/ecode/msg.go @@ -1,10 +1,11 @@ package ecode var MsgFlags = map[int]string{ - UnknownErr: "鏈煡閿欒", - DBErr: "鏁版嵁搴撹繛鎺ュけ璐ワ紝璇锋鏌ユ暟鎹簱閰嶇疆锛�", - RedisErr: "redis閿欒", - ParamsErr: "璇锋眰鍙傛暟閿欒", + UnknownErr: "鏈煡閿欒", + DBErr: "鏁版嵁搴撹繛鎺ュけ璐ワ紝璇锋鏌ユ暟鎹簱閰嶇疆锛�", + RedisErr: "redis閿欒", + ParamsErr: "璇锋眰鍙傛暟閿欒", + PlcAddressError: "缂哄け鍔犲伐鏁板拰鐩爣鏁板湴鍧�閰嶇疆", } func GetMsg(errCode int) (errMsg string) { diff --git a/service/device_plc.go b/service/device_plc.go index c8124a4..a643653 100644 --- a/service/device_plc.go +++ b/service/device_plc.go @@ -19,7 +19,7 @@ } func (slf DevicePlcService) GetDevicePlc() (*model.DevicePlc, int) { - DevicePlc, err := model.NewDevicePlcSearch().SetDeviceId(conf.Conf.CurrentDeviceID).First() + devicePlc, err := model.NewDevicePlcSearch().SetDeviceId(conf.Conf.CurrentDeviceID).First() if err == gorm.ErrRecordNotFound { logx.Errorf("GetDevicePlc failed:%v", err) return &model.DevicePlc{ @@ -41,8 +41,11 @@ 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) { -- Gitblit v1.8.0