package busmodels import ( orm "device-manage/common/global" "errors" "fmt" ) // BusPlayAttri 属性表 表 以 playmenu表 menuId为外键, 当playmenu表删除 menuid的时候, 当前表所有包含此外键的数据全部被级联删除. //视频播放的属性, 可以单独下发,只配置视频的属性. 字幕位置,上中下 center top bottom //PlaySwitch 0 关闭 1 打开 //Volume 0-100 type BusPlayAttri struct { AttrId int `json:"attrId" gorm:"primary_key;AUTO_INCREMENT"` Volume int `json:"volume"` PlaySwitch int `json:"playSwitch"` StartTime string `json:"startTime"` EndTime string `json:"endTime"` Subtitle string `json:"subtitle" gorm:"size:256;"` SubtitleLocation string `json:"subtitleLocation" gorm:"size:32;"` MenuId int `json:"menuId"` BaseModel UpdateBy string `json:"updateBy" gorm:"size:128;"` OwnerId string `json:"ownerId" gorm:"size:128;"` } func (BusPlayAttri) TableName() string { return "bus_play_attri" } func (e *BusPlayAttri) Insert() (id int, err error) { // check 用户名 var count int64 table := orm.Eloquent.Table(e.TableName()) if e.AttrId != 0 { table = table.Where("atrr_id = ?", e.AttrId) } if e.OwnerId != "" { table = table.Where("owner_id = ?", e.OwnerId) } table.Count(&count) fmt.Println(count) if count > 0 { err = errors.New("视频属性 已存在!") return } //添加数据 if err = orm.Eloquent.Table(e.TableName()).Create(&e).Error; err != nil { return } id = e.AttrId return } func (e *BusPlayAttri) GetById() (BusPlayAttri, error) { var doc BusPlayAttri table := orm.Eloquent.Table(e.TableName()) if e.AttrId != 0 { table = table.Where("atrr_id = ?", e.AttrId) } if err := table.First(&doc).Error; err != nil { return doc, err } return doc, nil } func (e *BusPlayAttri) Get() (BusPlayAttri, error) { var doc BusPlayAttri table := orm.Eloquent.Table(e.TableName()) if e.MenuId != 0 { table = table.Where("menu_id = ?", e.MenuId) } if err := table.First(&doc).Error; err != nil { return doc, err } fmt.Println(doc) return doc, nil } func (e *BusPlayAttri) Update(id int) (update BusPlayAttri, err error) { if err = orm.Eloquent.Table(e.TableName()).First(&update, id).Error; err != nil { return } //参数1:是要修改的数据 //参数2:是修改的数据 if err = orm.Eloquent.Table(e.TableName()).Model(&update).Updates(&e).Error; err != nil { return } return } //从列表批量移除视频 func (e *BusPlayAttri) BatchDelete(id []int) (Result bool, err error) { if err = orm.Eloquent.Table(e.TableName()).Where("atrr_id in (?)", id).Delete(&BusPlayAttri{}).Error; err != nil { return } Result = true return } func (e *BusPlayAttri) Delete(arrid int, userid string) (Result bool, err error) { if err = orm.Eloquent.Table(e.TableName()).Where("create_by = ? , menu_id = ?", userid, arrid).Delete(&BusPlayAttri{}).Error; err != nil { return } Result = true return }