From ef7d02ce56e98e8cbc5ed6ec746ea39bf0b8c9e2 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期六, 16 九月 2023 22:44:58 +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