From 288d78f66ecd1b628e8d1df7a3da99fc5e6880ec Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期五, 08 十二月 2023 14:13:37 +0800 Subject: [PATCH] debug --- model/device_plc.go | 32 +++++++++++++++++++++++++------- 1 files changed, 25 insertions(+), 7 deletions(-) diff --git a/model/device_plc.go b/model/device_plc.go index 4136ecb..a6e7331 100644 --- a/model/device_plc.go +++ b/model/device_plc.go @@ -13,14 +13,20 @@ // DevicePlc 璁惧鐨凱LC閰嶇疆 DevicePlc struct { gorm.Model + DeviceID string `gorm:"column:device_id;type:varchar(255);not null;unique" 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:"-"` + + DataBit int `gorm:"type:int(11)" json:"dataBit"` //鏁版嵁浣嶏紝method = modbusRTU 鐢� + StopBit int `gorm:"type:int(11)" json:"stopBit"` //鍋滄浣嶏紝method = modbusRTU 鐢� + Parity constvar.Parity `gorm:"type:int(11)" json:"parity"` //鏍¢獙鏂瑰紡锛宮ethod = modbusRTU 鐢� + + IsOpen bool `json:"isOpen"` + Detail string `gorm:"type:varchar(2048)" json:"-"` Details []*DevicePlcAddress `gorm:"-" json:"details"` @@ -51,12 +57,15 @@ } func (slf *DevicePlc) AfterFind(tx *gorm.DB) error { - details := make([]*DevicePlcAddress, 0) - err := json.Unmarshal([]byte(slf.Detail), &details) - if err != nil { - return err + if slf.Detail != "" { + details := make([]*DevicePlcAddress, 0) + err := json.Unmarshal([]byte(slf.Detail), &details) + if err != nil { + return err + } + slf.Details = details } - slf.Details = details + return nil } @@ -84,6 +93,11 @@ 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()) @@ -91,6 +105,10 @@ db = db.Where("id = ?", slf.ID) } + if slf.DeviceID != "" { + db = db.Where("device_id = ?", slf.DeviceID) + } + if slf.Order != "" { db = db.Order(slf.Order) } -- Gitblit v1.8.0