package crm import ( "eta/eta_docs/global" "eta/eta_docs/models/base" "fmt" "time" ) // EtaTrainingVideo ETA培训视频表 type EtaTrainingVideo struct { EtaTrainingVideoId int `gorm:"primaryKey;column:eta_training_video_id;type:int(10) unsigned;not null" json:"eta_training_video_id"` VideoCode string `gorm:"unique;column:video_code;type:varchar(128);not null;default:''" json:"video_code"` // 视频唯一编码 Title string `gorm:"column:title;type:varchar(255);not null;default:''" json:"title"` // 视频标题 Introduce string `gorm:"column:introduce;type:varchar(255);not null;default:''" json:"introduce"` // 视频简介 ClassifyIds string `gorm:"index:idx_classify_id;column:classify_ids;type:varchar(255);not null;default:''" json:"classify_ids"` // 视频分类IDs,英文逗号拼接 TagIds string `gorm:"column:tag_ids;type:varchar(255);not null;default:''" json:"tag_ids"` // 标签IDs,英文逗号拼接 CoverImg string `gorm:"column:cover_img;type:varchar(255);not null;default:''" json:"cover_img"` // 封面图 VideoUrl string `gorm:"column:video_url;type:varchar(255);not null;default:''" json:"video_url"` // 视频地址 PublishState int `gorm:"column:publish_state;type:tinyint(4) unsigned;not null;default:0" json:"publish_state"` // 发布状态:0-未发布;1-已发布 PublishTime time.Time `gorm:"column:publish_time;type:datetime" json:"publish_time"` // 发布时间 ViewTotal int `gorm:"column:view_total;type:int(10) unsigned;not null;default:0" json:"view_total"` // 访问量(包含非商家访问) CreateTime time.Time `gorm:"column:create_time;type:datetime" json:"create_time"` // 创建时间 ModifyTime time.Time `gorm:"column:modify_time;type:datetime" json:"modify_time"` // 更新时间 } func (m *EtaTrainingVideo) TableName() string { return "eta_training_video" } var EtaTrainingVideoColumns = struct { EtaTrainingVideoId string VideoCode string Title string Introduce string ClassifyIds string TagIds string CoverImg string VideoUrl string PublishState string PublishTime string ViewTotal string CreateTime string ModifyTime string }{ EtaTrainingVideoId: "eta_training_video_id", VideoCode: "video_code", Title: "title", Introduce: "introduce", ClassifyIds: "classify_ids", TagIds: "tag_ids", CoverImg: "cover_img", VideoUrl: "video_url", PublishState: "publish_state", PublishTime: "publish_time", ViewTotal: "view_total", CreateTime: "create_time", ModifyTime: "modify_time", } // Update 更新 func (m *EtaTrainingVideo) Update(cols []string) (err error) { err = global.MYSQL["hz_crm"].Model(m).Select(cols).Updates(m).Error return } // GetItem 获取视频 func (m *EtaTrainingVideo) GetItem(condition string, pars []interface{}) (item *EtaTrainingVideo, err error) { err = global.MYSQL["hz_crm"].Where(condition, pars...).First(&item).Error return } // GetPageItems 获取列表-分页 func (m *EtaTrainingVideo) GetPageItems(page base.IPage, condition string, pars []interface{}) (count int64, items []*EtaTrainingVideo, err error) { query := global.MYSQL["hz_crm"].Model(m).Where(condition, pars...) query.Count(&count) if len(page.GetOrderItemsString()) > 0 { query = query.Order(page.GetOrderItemsString()) } err = query.Limit(int(page.GetPageSize())).Offset(int(page.Offset())).Find(&items).Error if err != nil { return } return } func (m *EtaTrainingVideo) UpdateViewTotal(videoId int) (err error) { sql := fmt.Sprintf(`UPDATE %s SET %s = %s + 1 WHERE %s = ?`, m.TableName(), EtaTrainingVideoColumns.ViewTotal, EtaTrainingVideoColumns.ViewTotal, EtaTrainingVideoColumns.EtaTrainingVideoId) err = global.MYSQL["hz_crm"].Exec(sql, videoId).Error return }