From b555874608be2e4bb40cceba60b497c04caef842 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 12 九月 2023 14:17:51 +0800
Subject: [PATCH] 三菱协议更改
---
api/v1/config.go | 36 +++++++++++++++++++++++++++++++++++-
1 files changed, 35 insertions(+), 1 deletions(-)
diff --git a/api/v1/config.go b/api/v1/config.go
index 43065ad..4765bcf 100644
--- a/api/v1/config.go
+++ b/api/v1/config.go
@@ -1,6 +1,8 @@
package v1
import (
+ "apsClient/conf"
+ "apsClient/constvar"
"apsClient/model"
"apsClient/model/request"
_ "apsClient/model/response"
@@ -8,6 +10,8 @@
"apsClient/pkg/ecode"
"apsClient/pkg/logx"
"apsClient/service"
+ "apsClient/utils"
+ "fmt"
"github.com/gin-gonic/gin"
)
@@ -56,11 +60,27 @@
ctx.FailWithMsg(ecode.UnknownErr, "鑾峰彇缃戠粶閰嶇疆澶辫触")
return
}
-
err = service.NewConfigService().SetNetConfig(params.Id, ¶ms)
if err != nil {
logx.Errorf("SetNetConfig error: %v", err.Error())
ctx.FailWithMsg(ecode.DBErr, "璁剧疆澶辫触")
+ return
+ }
+ if conf.Conf.System.NetSetShellPath == "" || conf.Conf.System.NetUpShellName == "" || conf.Conf.System.NetDownShellName == "" {
+ ctx.FailWithMsg(ecode.DBErr, "璇峰厛閰嶇疆缃戠粶璁剧疆璺緞鍜岃剼鏈悕")
+ return
+ }
+ var shName string
+ if params.Status == model.NetConfigStatusEnabled {
+ shName = conf.Conf.System.NetUpShellName
+ } else {
+ shName = conf.Conf.System.NetDownShellName
+ }
+ sh := fmt.Sprintf("%s %v %v %v %v", shName, params.NetworkCard, params.IP, params.MASK, params.Gateway)
+ err = utils.Cmd(conf.Conf.System.NetSetShellPath + sh)
+ if err != nil {
+ logx.Errorf("network update failed: %v", err.Error())
+ ctx.FailWithMsg(ecode.UnknownErr, "缃戠粶璁剧疆澶辫触")
return
}
ctx.Ok()
@@ -100,6 +120,20 @@
return
}
+ if !params.Method.Valid() {
+ ctx.FailWithMsg(ecode.ParamsErr, "鎺ュ彛鏂瑰紡涓嶆纭�")
+ return
+ }
+
+ if params.Method == constvar.PlcMethodModbusTCP && (params.Address == "" || params.Port == 0) {
+ ctx.FailWithMsg(ecode.ParamsErr, "褰撴帴鍙f柟寮忎负modbusTCP鏃讹紝address鍜宲ort涓嶈兘涓虹┖")
+ return
+ }
+ if params.Method == constvar.PlcMethodSerial && (params.BaudRate == 0 || params.SerialName == "") {
+ ctx.FailWithMsg(ecode.ParamsErr, "褰撴帴鍙f柟寮忎负serial鏃讹紝baudRate鍜宻erialName涓嶈兘涓虹┖")
+ return
+ }
+
errCode := service.NewDevicePlcService().UpdateDevicePlc(¶ms)
if errCode != ecode.OK {
ctx.Fail(errCode)
--
Gitblit v1.8.0