micro_roadshow.go 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. package models
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "github.com/rdlucklib/rdluck_tools/paging"
  5. "hongze/hongze_clpt/utils"
  6. "time"
  7. )
  8. // MicroRoadShowListResp 微路演列表响应体
  9. type MicroRoadShowListResp struct {
  10. Paging *paging.PagingItem
  11. List []*MicroRoadShowPageList
  12. }
  13. // MicroRoadShowPageList 微路演列表
  14. type MicroRoadShowPageList struct {
  15. Id int `description:"音视频ID"`
  16. Title string `description:"标题"`
  17. ResourceUrl string `description:"链接"`
  18. Type int `description:"类型: 1-音频; 2-活动视频; 3-产业视频"`
  19. PublishTime string `description:"发布时间"`
  20. BackgroundImg string `description:"背景图"`
  21. ShareImg string `description:"分享封面图"`
  22. ChartPermissionId int `description:"行业ID"`
  23. ChartPermissionName string `description:"行业名称"`
  24. IndustryName string `description:"产业名称"`
  25. PlaySeconds string `description:"音视频时长"`
  26. ActivityId int `description:"活动ID"`
  27. AuthInfo *UserPermissionAuthInfo
  28. }
  29. type AddVideoHistoryReq struct {
  30. VideoId int `description:"视频ID"`
  31. PlaySeconds int `description:"播放时长"`
  32. }
  33. type CygxMicroRoadshowVideoHistory struct {
  34. Id int `orm:"column(id);pk"description:"微路演视频浏览记录表id"`
  35. VideoId int `description:"微路演视频id"`
  36. UserId int `description:"用户id"`
  37. Mobile string `description:"手机号"`
  38. Email string `description:"邮箱"`
  39. CompanyId int `description:"公司Id"`
  40. CompanyName string `description:"公司名称"`
  41. RealName string `description:"用户实际名称"`
  42. SellerName string `description:"所属销售"`
  43. PlaySeconds string `description:"播放时间 单位s"`
  44. CreateTime time.Time `description:"视频创建时间"`
  45. ModifyTime time.Time `description:"视频修改时间"`
  46. }
  47. func GetLastCygxMicroRoadshowVideoHistory(videoId, userId int) (item *CygxMicroRoadshowVideoHistory, err error) {
  48. o := orm.NewOrm()
  49. sql := ` SELECT * FROM cygx_micro_roadshow_video_history WHERE video_id=? AND user_id=? ORDER BY create_time DESC limit 1 `
  50. err = o.Raw(sql, videoId, userId).QueryRow(&item)
  51. return
  52. }
  53. func AddCygxMicroRoadshowVideoHistory(item *CygxMicroRoadshowVideoHistory) (err error) {
  54. o := orm.NewOrm()
  55. _, err = o.Insert(item)
  56. return
  57. }
  58. // MicroAudioUnionList 微路演音频联合列表
  59. type MicroAudioUnionList struct {
  60. Id int `description:"音视频ID"`
  61. AudioTitle string `description:"标题"`
  62. AudioResourceUrl string `description:"链接"`
  63. AudioType int `description:"类型: 1-音频; 2-视频"`
  64. AudioPublishTime string `description:"发布时间"`
  65. AudioImgUrl string `description:"背景图"`
  66. AudioShareImg string `description:"分享图"`
  67. AudioChartPermissionId int `description:"行业ID"`
  68. AudioChartPermissionName string `description:"行业名称"`
  69. AudioPlaySeconds string `description:"音视频时长"`
  70. AudioActivityId int `description:"活动ID"`
  71. AuthInfo *UserPermissionAuthInfo
  72. }
  73. // HomeNewestUnionList 首页最新纪要-音频联合查询结果
  74. type HomeNewestUnionList struct {
  75. ArticleId int `description:"文章id"`
  76. Title string `description:"标题"`
  77. TitleEn string `description:"英文标题 "`
  78. UpdateFrequency string `description:"更新周期"`
  79. CreateDate string `description:"创建时间"`
  80. PublishDate string `description:"发布时间"`
  81. Body string `description:"内容"`
  82. BodyHtml string `description:"内容带有HTML标签"`
  83. Abstract string `description:"摘要"`
  84. CategoryName string `description:"一级分类"`
  85. SubCategoryName string `description:"二级分类"`
  86. ExpertBackground string `description:"专家背景"`
  87. IsResearch bool `description:"是否属于研选"`
  88. Pv int `description:"PV"`
  89. ImgUrlPc string `description:"图片链接"`
  90. CategoryId string `description:"文章分类"`
  91. HttpUrl string `description:"文章链接跳转地址"`
  92. IsNeedJump bool `description:"是否需要跳转链接地址"`
  93. Source int `description:"来源 1:文章, 2:图表"`
  94. Annotation string `description:"核心观点"`
  95. HomeType int `description:"数据类型:0-纪要(默认); 1-微路演音频"`
  96. MicroAudioUnionList
  97. }
  98. func UpdateLastCygxActivityVideoHistory(playSeconds string, lastId int) (err error) {
  99. o := orm.NewOrm()
  100. sql := ` UPDATE cygx_micro_roadshow_video_history SET play_seconds =? WHERE id=? `
  101. _, err = o.Raw(sql, playSeconds, lastId).Exec()
  102. return
  103. }
  104. // MicroRoadshowVideo 微路演视频
  105. type MicroRoadshowVideo struct {
  106. VideoId int `orm:"column(video_id);pk" description:"视频ID"`
  107. VideoName string `description:"视频标题"`
  108. ChartPermissionId int `description:"行业ID"`
  109. ChartPermissionName string `description:"行业名称"`
  110. IndustryId int `description:"产业ID"`
  111. IndustryName string `description:"产业名称"`
  112. PublishStatus int `description:"发布状态:0-未发布;1-已发布"`
  113. ModifyDate time.Time `description:"更新时间"`
  114. PublishDate time.Time `description:"发布时间"`
  115. VideoCounts int `description:"视频播放量"`
  116. VideoDuration int `description:"视频时长"`
  117. VideoUrl string `description:"视频地址"`
  118. CreateTime time.Time `description:"创建时间"`
  119. ImgUrl string `description:"背景图链接"`
  120. DetailImgUrl string `description:"产业详情页背景图"`
  121. }
  122. // GetMicroRoadshowVideoById 主键获取微路演视频
  123. func GetMicroRoadshowVideoById(videoId int) (item *MicroRoadshowVideo, err error) {
  124. sql := `SELECT * FROM cygx_micro_roadshow_video WHERE video_id = ? LIMIT 1`
  125. err = orm.NewOrm().Raw(sql, videoId).QueryRow(&item)
  126. return
  127. }
  128. func UpdateCygxActivityVideoCounts(videoId int) (err error) {
  129. sql := `UPDATE cygx_micro_roadshow_video SET video_counts = video_counts+1 WHERE video_id = ? `
  130. o := orm.NewOrm()
  131. _, err = o.Raw(sql, videoId).Exec()
  132. return
  133. }
  134. // GetMicroRoadshowVideoByIndustryIds 根据行业ID查询产业视频列表
  135. func GetMicroRoadshowVideoByIndustryIds(industrialIdArr []int) (list []*MicroRoadshowVideo, err error) {
  136. sql := `SELECT * FROM cygx_micro_roadshow_video WHERE industry_id in (` + utils.GetOrmInReplace(len(industrialIdArr)) + `) `
  137. _, err = orm.NewOrm().Raw(sql, industrialIdArr).QueryRows(&list)
  138. return
  139. }
  140. // GetMicroRoadshowVideoByIndustryId 根据行业ID查询产业视频列表
  141. func GetMicroRoadshowVideoByIndustryId(industryId int) (item *MicroRoadshowVideo, err error) {
  142. sql := `SELECT * FROM cygx_micro_roadshow_video WHERE industry_id = ? and publish_status = 1`
  143. err = orm.NewOrm().Raw(sql, industryId).QueryRow(&item)
  144. return
  145. }
  146. //GetMicroRoadshowVideoByIndustryIdCount 根据行业ID查询产业视频是否存在
  147. func GetMicroRoadshowVideoByIndustryIdCount(industryId int) (count int, err error) {
  148. o := orm.NewOrm()
  149. sql := `SELECT COUNT(1) count
  150. FROM cygx_micro_roadshow_video WHERE industry_id = ? and publish_status = 1`
  151. err = o.Raw(sql, industryId).QueryRow(&count)
  152. return
  153. }
  154. //GetMicroRoadshowVideoByVidoeIdCount 根据行业ID查询产业视频是否存在
  155. func GetMicroRoadshowVideoByVidoeIdCount(industryId int) (count int, err error) {
  156. o := orm.NewOrm()
  157. sql := `SELECT COUNT(1) count
  158. FROM cygx_micro_roadshow_video WHERE video_id = ? `
  159. err = o.Raw(sql, industryId).QueryRow(&count)
  160. return
  161. }