eta_training_video.go 4.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package crm
  2. import (
  3. "eta/eta_docs/global"
  4. "eta/eta_docs/models/base"
  5. "fmt"
  6. "time"
  7. )
  8. // EtaTrainingVideo ETA培训视频表
  9. type EtaTrainingVideo struct {
  10. EtaTrainingVideoId int `gorm:"primaryKey;column:eta_training_video_id;type:int(10) unsigned;not null" json:"eta_training_video_id"`
  11. VideoCode string `gorm:"unique;column:video_code;type:varchar(128);not null;default:''" json:"video_code"` // 视频唯一编码
  12. Title string `gorm:"column:title;type:varchar(255);not null;default:''" json:"title"` // 视频标题
  13. Introduce string `gorm:"column:introduce;type:varchar(255);not null;default:''" json:"introduce"` // 视频简介
  14. ClassifyIds string `gorm:"index:idx_classify_id;column:classify_ids;type:varchar(255);not null;default:''" json:"classify_ids"` // 视频分类IDs,英文逗号拼接
  15. TagIds string `gorm:"column:tag_ids;type:varchar(255);not null;default:''" json:"tag_ids"` // 标签IDs,英文逗号拼接
  16. CoverImg string `gorm:"column:cover_img;type:varchar(255);not null;default:''" json:"cover_img"` // 封面图
  17. VideoUrl string `gorm:"column:video_url;type:varchar(255);not null;default:''" json:"video_url"` // 视频地址
  18. PublishState int `gorm:"column:publish_state;type:tinyint(4) unsigned;not null;default:0" json:"publish_state"` // 发布状态:0-未发布;1-已发布
  19. PublishTime time.Time `gorm:"column:publish_time;type:datetime" json:"publish_time"` // 发布时间
  20. ViewTotal int `gorm:"column:view_total;type:int(10) unsigned;not null;default:0" json:"view_total"` // 访问量(包含非商家访问)
  21. CreateTime time.Time `gorm:"column:create_time;type:datetime" json:"create_time"` // 创建时间
  22. ModifyTime time.Time `gorm:"column:modify_time;type:datetime" json:"modify_time"` // 更新时间
  23. }
  24. func (m *EtaTrainingVideo) TableName() string {
  25. return "eta_training_video"
  26. }
  27. var EtaTrainingVideoColumns = struct {
  28. EtaTrainingVideoId string
  29. VideoCode string
  30. Title string
  31. Introduce string
  32. ClassifyIds string
  33. TagIds string
  34. CoverImg string
  35. VideoUrl string
  36. PublishState string
  37. PublishTime string
  38. ViewTotal string
  39. CreateTime string
  40. ModifyTime string
  41. }{
  42. EtaTrainingVideoId: "eta_training_video_id",
  43. VideoCode: "video_code",
  44. Title: "title",
  45. Introduce: "introduce",
  46. ClassifyIds: "classify_ids",
  47. TagIds: "tag_ids",
  48. CoverImg: "cover_img",
  49. VideoUrl: "video_url",
  50. PublishState: "publish_state",
  51. PublishTime: "publish_time",
  52. ViewTotal: "view_total",
  53. CreateTime: "create_time",
  54. ModifyTime: "modify_time",
  55. }
  56. // Update 更新
  57. func (m *EtaTrainingVideo) Update(cols []string) (err error) {
  58. err = global.MYSQL["hz_crm"].Model(m).Select(cols).Updates(m).Error
  59. return
  60. }
  61. // GetItem 获取视频
  62. func (m *EtaTrainingVideo) GetItem(condition string, pars []interface{}) (item *EtaTrainingVideo, err error) {
  63. err = global.MYSQL["hz_crm"].Where(condition, pars...).First(&item).Error
  64. return
  65. }
  66. // GetPageItems 获取列表-分页
  67. func (m *EtaTrainingVideo) GetPageItems(page base.IPage, condition string, pars []interface{}) (count int64, items []*EtaTrainingVideo, err error) {
  68. query := global.MYSQL["hz_crm"].Model(m).Where(condition, pars...)
  69. query.Count(&count)
  70. if len(page.GetOrderItemsString()) > 0 {
  71. query = query.Order(page.GetOrderItemsString())
  72. }
  73. err = query.Limit(int(page.GetPageSize())).Offset(int(page.Offset())).Find(&items).Error
  74. if err != nil {
  75. return
  76. }
  77. return
  78. }
  79. func (m *EtaTrainingVideo) UpdateViewTotal(videoId int) (err error) {
  80. sql := fmt.Sprintf(`UPDATE %s SET %s = %s + 1 WHERE %s = ?`, m.TableName(), EtaTrainingVideoColumns.ViewTotal, EtaTrainingVideoColumns.ViewTotal, EtaTrainingVideoColumns.EtaTrainingVideoId)
  81. err = global.MYSQL["hz_crm"].Exec(sql, videoId).Error
  82. return
  83. }