| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package models
- //zigbee集中器,数据来自web创建
- type DeviceConcentrator struct {
- ID string `gorm:"type:varchar(32);primary_key"` //设备ID,DID
- Name string `gorm:"type:varchar(64)"`
- GID string `gorm:"type:varchar(32)"` //网关ID
- Brand int `gorm:"type:int"` //品牌
- Model int `gorm:"type:int"` //型号
- Netid int `gorm:"type:int"` //网络号,zigbee灯控专用,其他类型灯控置0
- Channel int `gorm:"type:int"` //通道号,zigbee灯控专用,其他类型灯控置0
- Tenant string `gorm:"type:varchar(8)"` //租户ID
- State int `gorm:"type:int"` //1启用,0禁用
- TID int `gorm:"type:int"` //物模型ID
- LcModel
- }
- func (DeviceConcentrator) TableName() string {
- return "t_device_concentrator"
- }
- func (o DeviceConcentrator) Delete() error {
- return G_db.Model(&o).Updates(map[string]interface{}{"state": 0}).Error
- }
- func (o DeviceConcentrator) IsExistedByCode() (bool, error) {
- var count int = 0
- err := G_db.Model(&o).Where(" id = ? ", o.ID).Count(&count).Error
- return count > 0, err
- }
- func (o DeviceConcentrator) SaveFromWeb() error {
- return nil
- has, err := o.IsExistedByCode()
- if err != nil {
- return err
- }
- if has {
- //更新
- return G_db.Model(&o).Updates(map[string]interface{}{
- "name": o.Name, "g_id": o.GID, "brand": o.Brand, "model": o.Model, "netid": o.Netid,
- "channel": o.Channel, "tenant": o.Tenant, "state": o.State}).Error
- } else {
- //插入
- return G_db.Create(&o).Error
- }
- }
- func UpdateTID(code string, tid int) error {
- return nil
- /* if err := G_db.Model(&DeviceLampController{}).Updates(map[string]interface{}{"t_id": tid}).Where("concentrator = ? and t_id = 0", code).Error; err != nil {
- return err
- }
- if err := G_db.Model(&DeviceConcentrator{}).Updates(map[string]interface{}{"t_id": tid}).Where("id = ? and t_id = 0", code).Error; err != nil {
- return err
- }*/
- sql := `UPDATE t_device_lampcontroller SET t_id = ? WHERE concentrator = ? AND t_id = 0;
- UPDATE t_device_concentrator SET t_id = ? WHERE id = ? AND t_id = 0;`
- return G_db.Raw(sql, tid, code, tid, code).Error
- }
- func GetConcentratorbyID(code string) (*DeviceConcentrator, error) {
- var obj DeviceConcentrator
- err := G_db.Model(&DeviceConcentrator{}).Where("id = ? ", code).Find(&obj).Error
- return &obj, err
- }
|