From 9852e9aa54408c29e05dbcd603a10ffc09acd40b Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期四, 09 十一月 2023 14:02:16 +0800
Subject: [PATCH] 增加设置是否跳过设置工艺参数接口
---
model/request/common.go | 4 +
service/device.go | 10 ++
model/device.go | 13 +-
docs/swagger.yaml | 45 +++++++++-
api/v1/device.go | 26 ++++++
docs/docs.go | 65 ++++++++++++++--
docs/swagger.json | 65 ++++++++++++++--
7 files changed, 197 insertions(+), 31 deletions(-)
diff --git a/api/v1/device.go b/api/v1/device.go
index 6f16b3a..eb079eb 100644
--- a/api/v1/device.go
+++ b/api/v1/device.go
@@ -56,6 +56,32 @@
ctx.Ok()
}
+// SetDeviceConfig
+// @Tags 璁惧
+// @Summary 璁剧疆璁惧涓�浜涢厤缃�
+// @Produce application/json
+// @Param object body request.DeviceConfig true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{} "鎴愬姛"
+// @Router /v1/device/config [post]
+func (slf *DeviceApi) config(c *gin.Context) {
+ var params request.DeviceConfig
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+ if conf.Conf.CurrentDeviceID == "" {
+ ctx.FailWithMsg(ecode.UnknownErr, "褰撳墠璁惧涓虹┖锛岃妫�鏌�")
+ return
+ }
+ err := service.UpdateDevice(conf.Conf.CurrentDeviceID, params.NeedSetProcessParams)
+ if err != nil {
+ logx.Errorf("save device config err:%v", err)
+ ctx.Fail(ecode.DBErr)
+ return
+ }
+ ctx.Ok()
+}
+
// DeviceList
// @Tags 璁惧
// @Summary 鑾峰彇褰撳墠闈㈡澘缁戝畾鐨勮澶囧垪琛�
diff --git a/docs/docs.go b/docs/docs.go
index df8f13f..dacaa1b 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -152,6 +152,36 @@
}
}
},
+ "/v1/device/config": {
+ "post": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "璁惧"
+ ],
+ "summary": "璁剧疆璁惧涓�浜涢厤缃�",
+ "parameters": [
+ {
+ "description": "鏌ヨ鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/request.DeviceConfig"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "鎴愬姛",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
"/v1/device/list": {
"get": {
"produces": [
@@ -555,11 +585,6 @@
"summary": "鑾峰彇浠诲姟",
"parameters": [
{
- "type": "string",
- "name": "deviceID",
- "in": "query"
- },
- {
"type": "integer",
"description": "椤电爜",
"name": "page",
@@ -953,11 +978,13 @@
"type": "string",
"enum": [
"string",
- "int"
+ "int16",
+ "int32"
],
"x-enum-varnames": [
"PlcStartAddressValueTypeString",
- "PlcStartAddressValueTypeInt"
+ "PlcStartAddressValueTypeInt16",
+ "PlcStartAddressValueTypeInt32"
]
},
"constvar.ProblemCode": {
@@ -1441,6 +1468,15 @@
}
}
},
+ "request.DeviceConfig": {
+ "type": "object",
+ "properties": {
+ "needSetProcessParams": {
+ "description": "鏄惁闇�瑕佽缃伐鑹哄弬鏁�",
+ "type": "boolean"
+ }
+ }
+ },
"request.GetProductProgress": {
"type": "object",
"properties": {
@@ -1570,6 +1606,17 @@
}
}
},
+ "response.Device": {
+ "type": "object",
+ "properties": {
+ "deviceID": {
+ "type": "string"
+ },
+ "deviceName": {
+ "type": "string"
+ }
+ }
+ },
"response.DeviceListResponse": {
"type": "object",
"properties": {
@@ -1585,11 +1632,11 @@
"description": "褰撳墠閫夊畾鐨勭敓浜ц澶�",
"type": "string"
},
- "deviceIDList": {
+ "deviceList": {
"description": "鐢熶骇璁惧id鍒楄〃",
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/response.Device"
}
},
"systemDeviceID": {
diff --git a/docs/swagger.json b/docs/swagger.json
index a341a69..a8aedd3 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -140,6 +140,36 @@
}
}
},
+ "/v1/device/config": {
+ "post": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "璁惧"
+ ],
+ "summary": "璁剧疆璁惧涓�浜涢厤缃�",
+ "parameters": [
+ {
+ "description": "鏌ヨ鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/request.DeviceConfig"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "鎴愬姛",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
"/v1/device/list": {
"get": {
"produces": [
@@ -543,11 +573,6 @@
"summary": "鑾峰彇浠诲姟",
"parameters": [
{
- "type": "string",
- "name": "deviceID",
- "in": "query"
- },
- {
"type": "integer",
"description": "椤电爜",
"name": "page",
@@ -941,11 +966,13 @@
"type": "string",
"enum": [
"string",
- "int"
+ "int16",
+ "int32"
],
"x-enum-varnames": [
"PlcStartAddressValueTypeString",
- "PlcStartAddressValueTypeInt"
+ "PlcStartAddressValueTypeInt16",
+ "PlcStartAddressValueTypeInt32"
]
},
"constvar.ProblemCode": {
@@ -1429,6 +1456,15 @@
}
}
},
+ "request.DeviceConfig": {
+ "type": "object",
+ "properties": {
+ "needSetProcessParams": {
+ "description": "鏄惁闇�瑕佽缃伐鑹哄弬鏁�",
+ "type": "boolean"
+ }
+ }
+ },
"request.GetProductProgress": {
"type": "object",
"properties": {
@@ -1558,6 +1594,17 @@
}
}
},
+ "response.Device": {
+ "type": "object",
+ "properties": {
+ "deviceID": {
+ "type": "string"
+ },
+ "deviceName": {
+ "type": "string"
+ }
+ }
+ },
"response.DeviceListResponse": {
"type": "object",
"properties": {
@@ -1573,11 +1620,11 @@
"description": "褰撳墠閫夊畾鐨勭敓浜ц澶�",
"type": "string"
},
- "deviceIDList": {
+ "deviceList": {
"description": "鐢熶骇璁惧id鍒楄〃",
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/response.Device"
}
},
"systemDeviceID": {
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index e027ea9..393866b 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -113,11 +113,13 @@
constvar.PlcStartAddressValueType:
enum:
- string
- - int
+ - int16
+ - int32
type: string
x-enum-varnames:
- PlcStartAddressValueTypeString
- - PlcStartAddressValueTypeInt
+ - PlcStartAddressValueTypeInt16
+ - PlcStartAddressValueTypeInt32
constvar.ProblemCode:
enum:
- service
@@ -454,6 +456,12 @@
updatedAt:
type: string
type: object
+ request.DeviceConfig:
+ properties:
+ needSetProcessParams:
+ description: 鏄惁闇�瑕佽缃伐鑹哄弬鏁�
+ type: boolean
+ type: object
request.GetProductProgress:
properties:
channel:
@@ -541,6 +549,13 @@
updatedAt:
type: string
type: object
+ response.Device:
+ properties:
+ deviceID:
+ type: string
+ deviceName:
+ type: string
+ type: object
response.DeviceListResponse:
properties:
clusterNodeQuantity:
@@ -552,10 +567,10 @@
currentDeviceID:
description: 褰撳墠閫夊畾鐨勭敓浜ц澶�
type: string
- deviceIDList:
+ deviceList:
description: 鐢熶骇璁惧id鍒楄〃
items:
- type: string
+ $ref: '#/definitions/response.Device'
type: array
systemDeviceID:
description: 宸ユ帶鏈鸿澶嘔D
@@ -753,6 +768,25 @@
summary: 鏇存柊plc閰嶇疆
tags:
- Config
+ /v1/device/config:
+ post:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: body
+ name: object
+ required: true
+ schema:
+ $ref: '#/definitions/request.DeviceConfig'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: 鎴愬姛
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 璁剧疆璁惧涓�浜涢厤缃�
+ tags:
+ - 璁惧
/v1/device/list:
get:
produces:
@@ -990,9 +1024,6 @@
/v1/task/get:
get:
parameters:
- - in: query
- name: deviceID
- type: string
- description: 椤电爜
in: query
name: page
diff --git a/model/device.go b/model/device.go
index 5f8d669..1e490d3 100644
--- a/model/device.go
+++ b/model/device.go
@@ -11,12 +11,13 @@
// Device 璁惧
Device struct {
gorm.Model
- DeviceID string `gorm:"column:device_id;type:varchar(255);not null;unique" json:"deviceID"` //璁惧缂栧彿
- DeviceName string `gorm:"column:device_name;type:varchar(255);" json:"deviceName"` //璁惧鍚嶇О
- ExtChannelAmount int `gorm:"type:tinyint;default:0" json:"extChannelAmount"`
- Procedures string `gorm:"column:procedure;type:varchar(255);not null;default ''" json:"procedures"` //璁惧鏀寔鐨勫伐搴忥紝鐢ㄩ�楀彿鍒嗛殧
- DeviceMac string `gorm:"type:varchar(255);" json:"deviceMac"` //缁戝畾鐨勫伐鎺ф満璁惧ID
- ProceduresArr []string `gorm:"-" json:"ProceduresArr"` //璁惧鏀寔鐨勫伐搴忓垏鐗�
+ DeviceID string `gorm:"column:device_id;type:varchar(255);not null;unique" json:"deviceID"` //璁惧缂栧彿
+ DeviceName string `gorm:"column:device_name;type:varchar(255);" json:"deviceName"` //璁惧鍚嶇О
+ ExtChannelAmount int `gorm:"type:tinyint;default:0" json:"extChannelAmount"`
+ Procedures string `gorm:"column:procedure;type:varchar(255);not null;default ''" json:"procedures"` //璁惧鏀寔鐨勫伐搴忥紝鐢ㄩ�楀彿鍒嗛殧
+ DeviceMac string `gorm:"type:varchar(255);" json:"deviceMac"` //缁戝畾鐨勫伐鎺ф満璁惧ID
+ ProceduresArr []string `gorm:"-" json:"ProceduresArr"` //璁惧鏀寔鐨勫伐搴忓垏鐗�
+ NeedSetProcessParams bool `gorm:"column:need_set_process_params" json:"needSetProcessParams"` //鏄惁闇�瑕佽缃伐鑹哄弬鏁� //璁惧鏀寔鐨勫伐搴忓垏鐗�
}
DeviceSearch struct {
diff --git a/model/request/common.go b/model/request/common.go
index c515c4e..7059381 100644
--- a/model/request/common.go
+++ b/model/request/common.go
@@ -12,3 +12,7 @@
type SetCurrentDevice struct {
CurrentDeviceID string `json:"currentDeviceID,omitempty"` //褰撳墠閫夊畾鐨勭敓浜ц澶�
}
+
+type DeviceConfig struct {
+ NeedSetProcessParams bool `json:"needSetProcessParams,omitempty"` //鏄惁闇�瑕佽缃伐鑹哄弬鏁�
+}
diff --git a/service/device.go b/service/device.go
index e11b959..c81500b 100644
--- a/service/device.go
+++ b/service/device.go
@@ -5,6 +5,7 @@
"apsClient/model"
"apsClient/model/response"
"apsClient/pkg/logx"
+ "errors"
"github.com/jinzhu/gorm"
"os"
"strings"
@@ -84,3 +85,12 @@
deviceId = strings.Trim(deviceId, "\n")
return deviceId
}
+
+func UpdateDevice(deviceId string, needSetProcessParams bool) (err error) {
+ device, err := model.NewDeviceSearch().SetDeviceId(deviceId).First()
+ if err == gorm.ErrRecordNotFound {
+ return errors.New("璁惧涓嶅瓨鍦�")
+ }
+ device.NeedSetProcessParams = needSetProcessParams
+ return model.NewDeviceSearch().SetID(device.ID).Save(device)
+}
--
Gitblit v1.8.0