videoarris.go 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package busmodels
  2. import (
  3. orm "device-manage/common/global"
  4. "errors"
  5. "fmt"
  6. )
  7. // BusPlayAttri 属性表 表 以 playmenu表 menuId为外键, 当playmenu表删除 menuid的时候, 当前表所有包含此外键的数据全部被级联删除.
  8. //视频播放的属性, 可以单独下发,只配置视频的属性. 字幕位置,上中下 center top bottom
  9. //PlaySwitch 0 关闭 1 打开
  10. //Volume 0-100
  11. type BusPlayAttri struct {
  12. AttrId int `json:"attrId" gorm:"primary_key;AUTO_INCREMENT"`
  13. Volume int `json:"volume"`
  14. PlaySwitch int `json:"playSwitch"`
  15. StartTime string `json:"startTime"`
  16. EndTime string `json:"endTime"`
  17. Subtitle string `json:"subtitle" gorm:"size:256;"`
  18. SubtitleLocation string `json:"subtitleLocation" gorm:"size:32;"`
  19. MenuId int `json:"menuId"`
  20. BaseModel
  21. UpdateBy string `json:"updateBy" gorm:"size:128;"`
  22. OwnerId string `json:"ownerId" gorm:"size:128;"`
  23. }
  24. func (BusPlayAttri) TableName() string {
  25. return "bus_play_attri"
  26. }
  27. func (e *BusPlayAttri) Insert() (id int, err error) {
  28. // check 用户名
  29. var count int64
  30. table := orm.Eloquent.Table(e.TableName())
  31. if e.AttrId != 0 {
  32. table = table.Where("atrr_id = ?", e.AttrId)
  33. }
  34. if e.OwnerId != "" {
  35. table = table.Where("owner_id = ?", e.OwnerId)
  36. }
  37. table.Count(&count)
  38. fmt.Println(count)
  39. if count > 0 {
  40. err = errors.New("视频属性 已存在!")
  41. return
  42. }
  43. //添加数据
  44. if err = orm.Eloquent.Table(e.TableName()).Create(&e).Error; err != nil {
  45. return
  46. }
  47. id = e.AttrId
  48. return
  49. }
  50. func (e *BusPlayAttri) GetById() (BusPlayAttri, error) {
  51. var doc BusPlayAttri
  52. table := orm.Eloquent.Table(e.TableName())
  53. if e.AttrId != 0 {
  54. table = table.Where("atrr_id = ?", e.AttrId)
  55. }
  56. if err := table.First(&doc).Error; err != nil {
  57. return doc, err
  58. }
  59. return doc, nil
  60. }
  61. func (e *BusPlayAttri) Get() (BusPlayAttri, error) {
  62. var doc BusPlayAttri
  63. table := orm.Eloquent.Table(e.TableName())
  64. if e.MenuId != 0 {
  65. table = table.Where("menu_id = ?", e.MenuId)
  66. }
  67. if err := table.First(&doc).Error; err != nil {
  68. return doc, err
  69. }
  70. fmt.Println(doc)
  71. return doc, nil
  72. }
  73. func (e *BusPlayAttri) Update(id int) (update BusPlayAttri, err error) {
  74. if err = orm.Eloquent.Table(e.TableName()).First(&update, id).Error; err != nil {
  75. return
  76. }
  77. //参数1:是要修改的数据
  78. //参数2:是修改的数据
  79. if err = orm.Eloquent.Table(e.TableName()).Model(&update).Updates(&e).Error; err != nil {
  80. return
  81. }
  82. return
  83. }
  84. //从列表批量移除视频
  85. func (e *BusPlayAttri) BatchDelete(id []int) (Result bool, err error) {
  86. if err = orm.Eloquent.Table(e.TableName()).Where("atrr_id in (?)", id).Delete(&BusPlayAttri{}).Error; err != nil {
  87. return
  88. }
  89. Result = true
  90. return
  91. }
  92. func (e *BusPlayAttri) Delete(arrid int, userid string) (Result bool, err error) {
  93. if err = orm.Eloquent.Table(e.TableName()).Where("create_by = ? , menu_id = ?", userid, arrid).Delete(&BusPlayAttri{}).Error; err != nil {
  94. return
  95. }
  96. Result = true
  97. return
  98. }