package identify import ( "database/sql/driver" "encoding/json" ) // ItemName 点位名称 type ItemName = string // EventName 事件名称 type EventName = string // ItemValue 点位值 type ItemValue = string type Rule struct { NvIn []ItemValue `json:"NvIn"` NvNotIn []ItemValue `json:"NvNotIn"` OvIn []ItemValue `json:"OvIn"` OvNotIn []ItemValue `json:"OvNotIn"` } type MultiRule map[ItemName]Rule // Scan 实现方法 func (d *MultiRule) Scan(input interface{}) error { _ = json.Unmarshal(input.([]byte), &d) return nil } func (d MultiRule) Value() (driver.Value, error) { return json.Marshal(d) } // Scan 实现方法 func (d *Rule) Scan(input interface{}) error { _ = json.Unmarshal(input.([]byte), &d) return nil } func (d Rule) Value() (driver.Value, error) { return json.Marshal(d) }