From 2ea23e2364f742f528fb8b97657212c174d1bbd7 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期六, 21 十月 2023 14:06:59 +0800
Subject: [PATCH] 增加切换serf状态接口(调试用)
---
model/device_plc.go | 65 ++++++++++++++++----------------
1 files changed, 33 insertions(+), 32 deletions(-)
diff --git a/model/device_plc.go b/model/device_plc.go
index 785ab8e..0f35260 100644
--- a/model/device_plc.go
+++ b/model/device_plc.go
@@ -5,34 +5,37 @@
"apsClient/pkg/sqlitex"
"encoding/json"
"fmt"
- "gorm.io/gorm"
+ "github.com/jinzhu/gorm"
)
type (
// DevicePlc 璁惧鐨凱LC閰嶇疆
DevicePlc struct {
- gorm.Model `json:"-"`
- Id int `gorm:"primarykey;type:int;" json:"id"`
- Brand string `gorm:"type:varchar(191);comment:PLC鍝佺墝" json:"brand"`
- Method constvar.PlcMethod `gorm:"type:varchar(191);comment:鎺ュ彛鏂瑰紡" json:"method"`
- //PortName string `gorm:"type:varchar(191);comment:绔彛鍚嶇О" json:"portName"`
- //Frequency int `gorm:"type:int(11);comment:鏁版嵁鏇存柊棰戠巼 0-瀹炴椂鏇存柊 1-1娆�/绉�" json:"frequency"`
- Address string `gorm:"type:varchar(191);comment:PLC鍦板潃" json:"address"` //plc ip鍦板潃锛� method = modbusTCP鐢�
- Port int `gorm:"type:int(11);comment:绔彛" json:"port"` //plc 绔彛鍙凤紝 method = modbusTCP鐢�
- BaudRate int `gorm:"type:int(11);comment:娉㈢壒鐜�" json:"baudRate"` //涓插彛娉㈢壒鐜囷紝 method = serial鏃� 鐢�
- SerialName string `gorm:"type:int(11);comment:涓插彛鍚嶇О" json:"serialName"` //涓插彛鍚嶇О锛宮ethod = serial鏃� 鐢�
- IsOpen bool `gorm:"type:tinyint(1);comment:鏄惁寮�鍚�" json:"isOpen"`
- Detail string `gorm:"type:varchar(2048);comment:鏁版嵁璇︽儏" json:"-"`
+ gorm.Model
+ DeviceID string `gorm:"unique;column:device_id;type:varchar(255);not null;default ''" json:"deviceID"` //璁惧缂栧彿
+ Brand string `gorm:"type:varchar(191)" json:"brand"`
+ Method constvar.PlcMethod `gorm:"type:varchar(191)" json:"method"`
+ Address string `gorm:"type:varchar(191)" json:"address"` //plc ip鍦板潃锛� method = modbusTCP鐢�
+ Port int `json:"port"` //plc 绔彛鍙凤紝 method = modbusTCP鐢�
+ BaudRate int `json:"baudRate"` //涓插彛娉㈢壒鐜囷紝 method = serial鏃� 鐢�
+ SerialName string `json:"serialName"` //涓插彛鍚嶇О锛宮ethod = serial鏃� 鐢�
+ IsOpen bool `json:"isOpen"`
+ Detail string `gorm:"type:varchar(2048)" json:"-"`
Details []*DevicePlcAddress `gorm:"-" json:"details"`
+
+ MaxTryTimes int `gorm:"-" json:"-"` //鏈�澶у啓鍏ラ噸璇曟鏁�
+ CurrentTryTimes int `gorm:"-" json:"-"` //褰撳墠鍐欏叆閲嶈瘯娆℃暟
+ CurrentErr error `gorm:"-" json:"-"` //褰撳墠鎶ラ敊
}
DevicePlcAddress struct {
- StartAddress int `json:"startAddress"` // 鏁版嵁璧峰鍦板潃
- Length int `json:"length"` // 鏁版嵁闀垮害
- Type string `json:"type"` // 鏁版嵁绫诲瀷
- FieldName int `json:"fieldName"` // 瀵瑰簲绯荤粺瀛楁
+ Channel int32 `json:"channel"` // 鏁版嵁璧峰鍦板潃
+ StartAddress int `json:"startAddress"` // 鏁版嵁璧峰鍦板潃
+ Length int `json:"length"` // 鏁版嵁闀垮害
+ Type constvar.PlcStartAddressValueType `json:"type"` // 鏁版嵁绫诲瀷
+ FieldName constvar.PlcStartAddressType `json:"fieldName"` // 瀵瑰簲绯荤粺瀛楁
}
DevicePlcSearch struct {
@@ -77,16 +80,25 @@
return slf
}
-func (slf *DevicePlcSearch) SetId(id int) *DevicePlcSearch {
- slf.Id = id
+func (slf *DevicePlcSearch) SetId(id uint) *DevicePlcSearch {
+ slf.ID = id
+ return slf
+}
+
+func (slf *DevicePlcSearch) SetDeviceId(deviceId string) *DevicePlcSearch {
+ slf.DeviceID = deviceId
return slf
}
func (slf *DevicePlcSearch) build() *gorm.DB {
var db = slf.Orm.Table(slf.TableName())
- if slf.Id > 0 {
- db = db.Where("id = ?", slf.Id)
+ if slf.ID > 0 {
+ db = db.Where("id = ?", slf.ID)
+ }
+
+ if slf.DeviceID != "" {
+ db = db.Where("device_id = ?", slf.DeviceID)
}
if slf.Order != "" {
@@ -102,17 +114,6 @@
if err := db.Create(record).Error; err != nil {
return fmt.Errorf("create err: %v, record: %+v", err, record)
- }
-
- return nil
-}
-
-// CreateBatch 鎵归噺鎻掑叆
-func (slf *DevicePlcSearch) CreateBatch(records []*DevicePlc) error {
- var db = slf.build()
-
- if err := db.Create(&records).Error; err != nil {
- return fmt.Errorf("create batch err: %v, records: %+v", err, records)
}
return nil
--
Gitblit v1.8.0