package models import ( "github.com/beego/beego/v2/client/orm" "github.com/rdlucklib/rdluck_tools/paging" "hongze/hongze_clpt/utils" "time" ) // MicroRoadShowListResp 微路演列表响应体 type MicroRoadShowListResp struct { Paging *paging.PagingItem List []*MicroRoadShowPageList } // MicroRoadShowPageList 微路演列表 type MicroRoadShowPageList struct { Id int `description:"音视频ID"` Title string `description:"标题"` ResourceUrl string `description:"链接"` Type int `description:"类型: 1-音频; 2-活动视频; 3-产业视频"` PublishTime string `description:"发布时间"` BackgroundImg string `description:"背景图"` ShareImg string `description:"分享封面图"` ChartPermissionId int `description:"行业ID"` ChartPermissionName string `description:"行业名称"` IndustryName string `description:"产业名称"` PlaySeconds string `description:"音视频时长"` ActivityId int `description:"活动ID"` AuthInfo *UserPermissionAuthInfo } type AddVideoHistoryReq struct { VideoId int `description:"视频ID"` PlaySeconds int `description:"播放时长"` } type CygxMicroRoadshowVideoHistory struct { Id int `orm:"column(id);pk"description:"微路演视频浏览记录表id"` VideoId int `description:"微路演视频id"` UserId int `description:"用户id"` Mobile string `description:"手机号"` Email string `description:"邮箱"` CompanyId int `description:"公司Id"` CompanyName string `description:"公司名称"` RealName string `description:"用户实际名称"` SellerName string `description:"所属销售"` PlaySeconds string `description:"播放时间 单位s"` CreateTime time.Time `description:"视频创建时间"` ModifyTime time.Time `description:"视频修改时间"` } func GetLastCygxMicroRoadshowVideoHistory(videoId, userId int) (item *CygxMicroRoadshowVideoHistory, err error) { o := orm.NewOrm() sql := ` SELECT * FROM cygx_micro_roadshow_video_history WHERE video_id=? AND user_id=? ORDER BY create_time DESC limit 1 ` err = o.Raw(sql, videoId, userId).QueryRow(&item) return } func AddCygxMicroRoadshowVideoHistory(item *CygxMicroRoadshowVideoHistory) (err error) { o := orm.NewOrm() _, err = o.Insert(item) return } // MicroAudioUnionList 微路演音频联合列表 type MicroAudioUnionList struct { Id int `description:"音视频ID"` AudioTitle string `description:"标题"` AudioResourceUrl string `description:"链接"` AudioType int `description:"类型: 1-音频; 2-视频"` AudioPublishTime string `description:"发布时间"` AudioImgUrl string `description:"背景图"` AudioShareImg string `description:"分享图"` AudioChartPermissionId int `description:"行业ID"` AudioChartPermissionName string `description:"行业名称"` AudioPlaySeconds string `description:"音视频时长"` AudioActivityId int `description:"活动ID"` AuthInfo *UserPermissionAuthInfo } // HomeNewestUnionList 首页最新纪要-音频联合查询结果 type HomeNewestUnionList struct { ArticleId int `description:"文章id"` Title string `description:"标题"` TitleEn string `description:"英文标题 "` UpdateFrequency string `description:"更新周期"` CreateDate string `description:"创建时间"` PublishDate string `description:"发布时间"` Body string `description:"内容"` BodyHtml string `description:"内容带有HTML标签"` Abstract string `description:"摘要"` CategoryName string `description:"一级分类"` SubCategoryName string `description:"二级分类"` ExpertBackground string `description:"专家背景"` IsResearch bool `description:"是否属于研选"` Pv int `description:"PV"` ImgUrlPc string `description:"图片链接"` CategoryId string `description:"文章分类"` HttpUrl string `description:"文章链接跳转地址"` IsNeedJump bool `description:"是否需要跳转链接地址"` Source int `description:"来源 1:文章, 2:图表"` Annotation string `description:"核心观点"` HomeType int `description:"数据类型:0-纪要(默认); 1-微路演音频"` MicroAudioUnionList } func UpdateLastCygxActivityVideoHistory(playSeconds string, lastId int) (err error) { o := orm.NewOrm() sql := ` UPDATE cygx_micro_roadshow_video_history SET play_seconds =? WHERE id=? ` _, err = o.Raw(sql, playSeconds, lastId).Exec() return } // MicroRoadshowVideo 微路演视频 type MicroRoadshowVideo struct { VideoId int `orm:"column(video_id);pk" description:"视频ID"` VideoName string `description:"视频标题"` ChartPermissionId int `description:"行业ID"` ChartPermissionName string `description:"行业名称"` IndustryId int `description:"产业ID"` IndustryName string `description:"产业名称"` PublishStatus int `description:"发布状态:0-未发布;1-已发布"` ModifyDate time.Time `description:"更新时间"` PublishDate time.Time `description:"发布时间"` VideoCounts int `description:"视频播放量"` VideoDuration int `description:"视频时长"` VideoUrl string `description:"视频地址"` CreateTime time.Time `description:"创建时间"` ImgUrl string `description:"背景图链接"` DetailImgUrl string `description:"产业详情页背景图"` } // GetMicroRoadshowVideoById 主键获取微路演视频 func GetMicroRoadshowVideoById(videoId int) (item *MicroRoadshowVideo, err error) { sql := `SELECT * FROM cygx_micro_roadshow_video WHERE video_id = ? LIMIT 1` err = orm.NewOrm().Raw(sql, videoId).QueryRow(&item) return } func UpdateCygxActivityVideoCounts(videoId int) (err error) { sql := `UPDATE cygx_micro_roadshow_video SET video_counts = video_counts+1 WHERE video_id = ? ` o := orm.NewOrm() _, err = o.Raw(sql, videoId).Exec() return } // GetMicroRoadshowVideoByIndustryIds 根据行业ID查询产业视频列表 func GetMicroRoadshowVideoByIndustryIds(industrialIdArr []int) (list []*MicroRoadshowVideo, err error) { sql := `SELECT * FROM cygx_micro_roadshow_video WHERE industry_id in (` + utils.GetOrmInReplace(len(industrialIdArr)) + `) ` _, err = orm.NewOrm().Raw(sql, industrialIdArr).QueryRows(&list) return } // GetMicroRoadshowVideoByIndustryId 根据行业ID查询产业视频列表 func GetMicroRoadshowVideoByIndustryId(industryId int) (item *MicroRoadshowVideo, err error) { sql := `SELECT * FROM cygx_micro_roadshow_video WHERE industry_id = ? and publish_status = 1` err = orm.NewOrm().Raw(sql, industryId).QueryRow(&item) return } //GetMicroRoadshowVideoByIndustryIdCount 根据行业ID查询产业视频是否存在 func GetMicroRoadshowVideoByIndustryIdCount(industryId int) (count int, err error) { o := orm.NewOrm() sql := `SELECT COUNT(1) count FROM cygx_micro_roadshow_video WHERE industry_id = ? and publish_status = 1` err = o.Raw(sql, industryId).QueryRow(&count) return } //GetMicroRoadshowVideoByVidoeIdCount 根据行业ID查询产业视频是否存在 func GetMicroRoadshowVideoByVidoeIdCount(industryId int) (count int, err error) { o := orm.NewOrm() sql := `SELECT COUNT(1) count FROM cygx_micro_roadshow_video WHERE video_id = ? ` err = o.Raw(sql, industryId).QueryRow(&count) return }