fix
zhangqian
2023-12-01 8324f872ef3a4d0c978a9b1d062800c6a1701c12
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,7 +76,7 @@
   } else {
      shName = conf.Conf.System.NetDownShellName
   }
   sh := fmt.Sprintf("%s %v %v %v", shName, params.IP, params.MASK, params.Gateway)
   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())
@@ -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, "当接口方式为modbusTCP时,地址和端口号不能为空")
      return
   }
   if params.Method == constvar.PlcMethodSerial && (params.BaudRate == 0 || params.SerialName == "") {
      ctx.FailWithMsg(ecode.ParamsErr, "当接口方式为serial时,波特率和串口名称不能为空")
      return
   }
   if params.Method == constvar.PlcMethodModbusRTU && (params.DataBit == 0 || params.StopBit == 0 || params.Parity == 0) {
      ctx.FailWithMsg(ecode.ParamsErr, "当接口方式为modbusRTU时,数据位,停止位,校验位不能为空")
      return
   }
   errCode := service.NewDevicePlcService().UpdateDevicePlc(&params)
   if errCode != ecode.OK {
      ctx.Fail(errCode)