From 8324f872ef3a4d0c978a9b1d062800c6a1701c12 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期五, 01 十二月 2023 09:58:17 +0800
Subject: [PATCH] fix

---
 api/v1/config.go |   33 +++++++++++++++++++++++++++------
 1 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/api/v1/config.go b/api/v1/config.go
index 96a1c3e..ee22af0 100644
--- a/api/v1/config.go
+++ b/api/v1/config.go
@@ -2,6 +2,7 @@
 
 import (
 	"apsClient/conf"
+	"apsClient/constvar"
 	"apsClient/model"
 	"apsClient/model/request"
 	_ "apsClient/model/response"
@@ -31,7 +32,7 @@
 	ConfigData, err := service.NewConfigService().GetNetConfigList()
 	if err != nil {
 		logx.Errorf("get net config error: %v", err.Error())
-		ctx.FailWithMsg(ecode.UnknownErr, "鑾峰彇缃戠粶閰嶇疆澶辫触")
+		ctx.FailWithMsg(ecode.DBErr, "鑾峰彇缃戠粶閰嶇疆澶辫触")
 		return
 	}
 
@@ -52,14 +53,14 @@
 		return
 	}
 
-	_, err := service.NewConfigService().GetNetConfig(params.Id)
+	_, err := service.NewConfigService().GetNetConfig(params.ID)
 
 	if err != nil {
 		logx.Errorf("get net config error: %v", err.Error())
-		ctx.FailWithMsg(ecode.UnknownErr, "鑾峰彇缃戠粶閰嶇疆澶辫触")
+		ctx.FailWithMsg(ecode.DBErr, "鑾峰彇缃戠粶閰嶇疆澶辫触")
 		return
 	}
-	err = service.NewConfigService().SetNetConfig(params.Id, &params)
+	err = service.NewConfigService().SetNetConfig(params.ID, &params)
 	if err != nil {
 		logx.Errorf("SetNetConfig error: %v", err.Error())
 		ctx.FailWithMsg(ecode.DBErr, "璁剧疆澶辫触")
@@ -75,8 +76,8 @@
 	} else {
 		shName = conf.Conf.System.NetDownShellName
 	}
-	sh := fmt.Sprintf("%s %v %v %v", shName, params.IP, params.MASK, params.Gateway)
-	err = utils.Cmd(conf.Conf.System.NetSetShellPath, sh)
+	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, "缃戠粶璁剧疆澶辫触")
@@ -119,6 +120,26 @@
 		return
 	}
 
+	if !params.Method.Valid() {
+		ctx.FailWithMsg(ecode.ParamsErr, "鎺ュ彛鏂瑰紡涓嶆纭�")
+		return
+	}
+
+	params.DeviceID = conf.Conf.CurrentDeviceID
+	if params.Method == constvar.PlcMethodModbusTCP && (params.Address == "" || params.Port == 0) {
+		ctx.FailWithMsg(ecode.ParamsErr, "褰撴帴鍙f柟寮忎负modbusTCP鏃讹紝鍦板潃鍜岀鍙e彿涓嶈兘涓虹┖")
+		return
+	}
+	if params.Method == constvar.PlcMethodSerial && (params.BaudRate == 0 || params.SerialName == "") {
+		ctx.FailWithMsg(ecode.ParamsErr, "褰撴帴鍙f柟寮忎负serial鏃讹紝娉㈢壒鐜囧拰涓插彛鍚嶇О涓嶈兘涓虹┖")
+		return
+	}
+
+	if params.Method == constvar.PlcMethodModbusRTU && (params.DataBit == 0 || params.StopBit == 0 || params.Parity == 0) {
+		ctx.FailWithMsg(ecode.ParamsErr, "褰撴帴鍙f柟寮忎负modbusRTU鏃讹紝鏁版嵁浣嶏紝鍋滄浣嶏紝鏍¢獙浣嶄笉鑳戒负绌�")
+		return
+	}
+
 	errCode := service.NewDevicePlcService().UpdateDevicePlc(&params)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)

--
Gitblit v1.8.0