package models import "errors" //设备的行政区域 (设备是平台才会去获取行政区域-中间三位编码为200) type VssDomainUnit struct { PublicID string `gorm:"column:publicId;not null;unique;" json:"publicId"` //(字符串) 国标资源通道20位id (用于请求视频、控制等操作) DevPubID string `gorm:"column:devPubId" json:"devPubId"` //(字符串) 通道的设备id ResType int `gorm:"column:resType" json:"resType"` //(数字) 1-通道资源 2-资源组 Name string `gorm:"column:name;" json:"name"` //(字符串) 资源名称 ParentID string `gorm:"column:parentId" json:"parentId"` //(字符串) 父节点id TotalNum int `gorm:"column:totalNum" json:"totalNum"` //(数字) 资源组下总的数量 OnlineNum int `gorm:"column:onlineNum" json:"onlineNum"` //(数字) 资源组下总的在线数量 } func (VssDomainUnit) TableName() string { return "VSSDomainUnitTbl" } func (v *VssDomainUnit) Insert() (bool,error) { result := db.Table(v.TableName()).Create(&v) if result.Error != nil { return false, result.Error } if result.RowsAffected > 0 { return true, nil } return false, errors.New("新增失败") } func (v *VssDomainUnit) Update() (bool,error) { result := db.Table(v.TableName()).Save(&v) if result.Error != nil { return false, result.Error } if result.RowsAffected > 0 { return true, nil } return false, errors.New("更新失败") } func (v *VssDomainUnit) Exist(publicId string) bool { dbSelect := db.Table(v.TableName()).Where("publicId=?", publicId).First(&v) if dbSelect.Error != nil || dbSelect.RowsAffected ==0 { return false } return true } func (v *VssDomainUnit) FindAll() (list []VssDomainUnit, err error) { err = db.Table(v.TableName()).Find(&list).Error if err != nil { return []VssDomainUnit{}, err } return list,nil } func (v *VssDomainUnit) FindAllMap() map[string]VssDomainUnit { m := make(map[string]VssDomainUnit) list, _ := v.FindAll() for _, u := range list { m[u.PublicID] = u } return m }