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