micro_roadshow.go 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631
  1. package models
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "github.com/rdlucklib/rdluck_tools/paging"
  5. "hongze/hongze_cygx/utils"
  6. "time"
  7. )
  8. // MicroRoadShowListResp 微路演列表响应体
  9. type MicroRoadShowListResp struct {
  10. Paging *paging.PagingItem
  11. List []*MicroRoadShowPageList
  12. }
  13. type CygxMicroRoadshowVideo struct {
  14. VideoId int `orm:"column(video_id);pk"description:"微路演视频id"`
  15. VideoName string `description:"视频名称"`
  16. ChartPermissionId int `description:"行业Id"`
  17. ChartPermissionName string `description:"行业名称"`
  18. IndustryId int `description:"产业id"`
  19. IndustryName string `description:"产业名称"`
  20. PublishStatus int `description:"发布状态 1发布 0没有"`
  21. ModifyDate string `description:"更新时间"`
  22. PublishDate time.Time `description:"发布时间"`
  23. VideoDuration string `description:"视频时长"`
  24. VideoCounts int `description:"播放量"`
  25. VideoUrl string `description:"视频地址"`
  26. CreateTime string `description:"创建时间"`
  27. ImgUrl string `description:"视频封面图"`
  28. ShareImgUrl string `description:"视频分享图"`
  29. DetailImgUrl string `description:"产业详情页背景图"`
  30. CommentNum int `description:"留言总数"`
  31. IsSendWxMsg int `description:"是否推送过微信模板消息,1是,0:否"`
  32. }
  33. func GetMicroRoadshowVideoByVideoId(videoId int) (item *CygxMicroRoadshowVideo, err error) {
  34. o := orm.NewOrm()
  35. sql := `SELECT * from cygx_micro_roadshow_video where video_id = ? `
  36. err = o.Raw(sql, videoId).QueryRow(&item)
  37. return
  38. }
  39. // MicroRoadShowPageList 微路演列表
  40. type MicroRoadShowPageList struct {
  41. Id int `description:"音视频ID"`
  42. SourceId int `description:"资源ID"`
  43. Title string `description:"标题"`
  44. ResourceUrl string `description:"链接"`
  45. Type int `description:"类型: 1-活动音频; 2-活动视频; 3-产业视频; 4-系列问答"`
  46. PublishTime string `description:"发布时间"`
  47. BackgroundImg string `description:"背景图"`
  48. ShareImg string `description:"分享封面图"`
  49. ChartPermissionId int `description:"行业ID"`
  50. ChartPermissionName string `description:"行业名称"`
  51. IndustryName string `description:"产业名称"`
  52. IndustryId int `description:"产业id"`
  53. PlaySeconds string `description:"音视频时长"`
  54. ActivityId int `description:"活动ID"`
  55. IsCollect bool `description:"是否收藏"`
  56. AuthInfo *UserPermissionAuthInfo
  57. }
  58. // GetMicroRoadShowVideoPageList 获取微路演视频列表-分页
  59. func GetMicroRoadShowVideoPageListV8(startSize, pageSize int, condition string, pars []interface{}, conditionAct string, parsAct []interface{}, conditionAudio string, parsAudio []interface{}) (total int, list []*MicroRoadShowPageList, err error) {
  60. o := orm.NewOrm()
  61. var sql string
  62. //if audioId+activityVideoId == 0 && filter != 2 {
  63. sql += `SELECT
  64. video_id AS id,
  65. video_name AS title,
  66. video_url AS resource_url,
  67. 3 AS type,
  68. publish_date AS publish_time,
  69. chart_permission_id,
  70. chart_permission_name,
  71. video_duration AS play_seconds,
  72. img_url AS background_img,
  73. industry_name,
  74. industry_id,
  75. share_img_url AS share_img,
  76. "" as activity_id
  77. FROM
  78. cygx_micro_roadshow_video
  79. WHERE
  80. publish_status = 1 `
  81. if condition != `` {
  82. sql += condition
  83. }
  84. //}
  85. //if audioId+videoId+activityVideoId == 0 && filter != 2 {
  86. // sql += ` UNION ALL `
  87. //}
  88. sql += ` UNION ALL `
  89. //if audioId+videoId == 0 && filter != 2 {
  90. sql += `
  91. SELECT
  92. video_id AS id,
  93. video_name AS title,
  94. video_url AS resource_url,
  95. 2 AS type,
  96. art.activity_time as publish_time,
  97. art.chart_permission_id,
  98. art.chart_permission_name,
  99. "" AS play_seconds,
  100. v.background_img,
  101. "" AS industry_name,
  102. "",
  103. v.share_img,
  104. v.activity_id
  105. FROM
  106. cygx_activity_video as v
  107. INNER JOIN cygx_activity as art on art.activity_id = v.activity_id WHERE 1= 1 `
  108. if conditionAct != `` {
  109. sql += conditionAct
  110. }
  111. //}
  112. //if audioId+videoId+activityVideoId == 0 && filter == 0 {
  113. // sql += ` UNION ALL `
  114. //}
  115. sql += ` UNION ALL `
  116. //if videoId+activityVideoId == 0 && filter != 1 {
  117. sql += `
  118. SELECT
  119. a.activity_voice_id AS id,
  120. a.voice_name AS title,
  121. a.voice_url AS resource_url,
  122. 1 AS type,
  123. b.activity_time AS publish_time,
  124. b.chart_permission_id,
  125. b.chart_permission_name,
  126. a.voice_play_seconds AS play_seconds,
  127. a.background_img,
  128. "" AS industry_name,
  129. "",
  130. a.share_img,
  131. a.activity_id
  132. FROM
  133. cygx_activity_voice AS a
  134. JOIN cygx_activity AS b ON a.activity_id = b.activity_id WHERE 1= 1 `
  135. if conditionAudio != `` {
  136. sql += conditionAudio
  137. }
  138. //}
  139. sql += ` ORDER BY publish_time DESC`
  140. totalSql := `SELECT COUNT(1) total FROM (` + sql + `) z `
  141. err = o.Raw(totalSql, pars, parsAct, parsAudio).QueryRow(&total)
  142. if err != nil {
  143. return
  144. }
  145. sql += ` LIMIT ?,?`
  146. _, err = o.Raw(sql, pars, parsAct, parsAudio, startSize, pageSize).QueryRows(&list)
  147. return
  148. }
  149. // GetMicroRoadShowVideoPageList 获取微路演视频列表-分页
  150. func GetMicroRoadShowVideoPageListV12(startSize, pageSize int, audioAct string, audioActPars []interface{}, videoAct string, videoActPars []interface{}, videoMico string, videoMicoPars []interface{}, conditionAskserie string, askseriePars []interface{}) (total int, list []*MicroRoadShowPageList, err error) {
  151. o := orm.NewOrm()
  152. var sql string
  153. //活动音频1
  154. sql += `
  155. SELECT
  156. a.activity_voice_id AS id,
  157. a.activity_id AS source_id,
  158. a.voice_name AS title,
  159. a.voice_url AS resource_url,
  160. 1 AS type,
  161. b.activity_time AS publish_time,
  162. b.chart_permission_id,
  163. b.chart_permission_name,
  164. a.voice_play_seconds AS play_seconds,
  165. a.background_img,
  166. "" AS industry_name,
  167. 0 AS industry_id,
  168. a.share_img,
  169. a.activity_id
  170. FROM
  171. cygx_activity_voice AS a
  172. JOIN cygx_activity AS b ON a.activity_id = b.activity_id WHERE 1= 1 `
  173. if audioAct != `` {
  174. sql += audioAct
  175. }
  176. //活动视频2
  177. sql += ` UNION ALL `
  178. sql += `
  179. SELECT
  180. a.video_id AS id,
  181. a.activity_id AS source_id,
  182. a.video_name AS title,
  183. a.video_url AS resource_url,
  184. 2 AS type,
  185. b.activity_time as publish_time,
  186. b.chart_permission_id,
  187. b.chart_permission_name,
  188. "" AS play_seconds,
  189. a.background_img,
  190. "" AS industry_name,
  191. 0 AS industry_id,
  192. a.share_img,
  193. a.activity_id
  194. FROM
  195. cygx_activity_video as a
  196. INNER JOIN cygx_activity as b on a.activity_id = b.activity_id WHERE 1= 1 `
  197. if videoAct != `` {
  198. sql += videoAct
  199. }
  200. sql += ` UNION ALL `
  201. // 产业视频3
  202. sql += `SELECT
  203. video_id AS id,
  204. video_id AS source_id,
  205. video_name AS title,
  206. video_url AS resource_url,
  207. 3 AS type,
  208. publish_date AS publish_time,
  209. chart_permission_id,
  210. chart_permission_name,
  211. video_duration AS play_seconds,
  212. img_url AS background_img,
  213. industry_name,
  214. industry_id,
  215. share_img_url AS share_img,
  216. "" as activity_id
  217. FROM
  218. cygx_micro_roadshow_video as a
  219. WHERE
  220. publish_status = 1 `
  221. if videoMico != `` {
  222. sql += videoMico
  223. }
  224. //系列问答
  225. sql += ` UNION ALL `
  226. sql += `
  227. SELECT
  228. a.askserie_video_id AS id,
  229. a.askserie_video_id AS source_id,
  230. a.video_name AS title,
  231. a.video_url AS resource_url,
  232. 4 AS type,
  233. a.publish_date AS publish_time,
  234. a.chart_permission_id,
  235. a.chart_permission_name,
  236. a.video_duration AS play_seconds,
  237. a.background_img,
  238. "" AS industry_name,
  239. 0 AS industry_id,
  240. a.share_img,
  241. 0 as activity_id
  242. FROM
  243. cygx_askserie_video AS a WHERE 1= 1 `
  244. if conditionAskserie != `` {
  245. sql += conditionAskserie
  246. }
  247. sql += ` ORDER BY publish_time DESC`
  248. totalSql := `SELECT COUNT(1) total FROM (` + sql + `) z `
  249. err = o.Raw(totalSql, audioActPars, videoActPars, videoMicoPars, askseriePars).QueryRow(&total)
  250. if err != nil {
  251. return
  252. }
  253. sql += ` LIMIT ?,?`
  254. _, err = o.Raw(sql, audioActPars, videoActPars, videoMicoPars, askseriePars, startSize, pageSize).QueryRows(&list)
  255. return
  256. }
  257. // CountMicroRoadShowVideoPageList 获取微路演视频数量
  258. func CountMicroRoadShowVideoPageList(condition string, pars []interface{}, conditionAct string, parsAct []interface{}, conditionAudio string, parsAudio []interface{}) (total int, err error) {
  259. o := orm.NewOrm()
  260. var sql string
  261. sql += `SELECT
  262. video_id AS id,
  263. video_name AS title,
  264. video_url AS resource_url,
  265. 3 AS type,
  266. publish_date AS publish_time,
  267. chart_permission_id,
  268. chart_permission_name,
  269. video_duration AS play_seconds,
  270. img_url AS background_img,
  271. industry_name,
  272. share_img_url AS share_img,
  273. "" as activity_id
  274. FROM
  275. cygx_micro_roadshow_video
  276. WHERE
  277. publish_status = 1 `
  278. if condition != `` {
  279. sql += condition
  280. }
  281. sql += ` UNION ALL `
  282. sql += `
  283. SELECT
  284. video_id AS id,
  285. video_name AS title,
  286. video_url AS resource_url,
  287. 2 AS type,
  288. art.activity_time as publish_time,
  289. art.chart_permission_id,
  290. art.chart_permission_name,
  291. "" AS play_seconds,
  292. v.background_img,
  293. "" AS industry_name,
  294. v.share_img,
  295. v.activity_id
  296. FROM
  297. cygx_activity_video as v
  298. INNER JOIN cygx_activity as art on art.activity_id = v.activity_id WHERE 1= 1 `
  299. if conditionAct != `` {
  300. sql += conditionAct
  301. }
  302. sql += ` UNION ALL `
  303. sql += `
  304. SELECT
  305. a.activity_voice_id AS id,
  306. a.voice_name AS title,
  307. a.voice_url AS resource_url,
  308. 1 AS type,
  309. b.activity_time AS publish_time,
  310. b.chart_permission_id,
  311. b.chart_permission_name,
  312. a.voice_play_seconds AS play_seconds,
  313. a.background_img,
  314. "" AS industry_name,
  315. a.share_img,
  316. a.activity_id
  317. FROM
  318. cygx_activity_voice AS a
  319. JOIN cygx_activity AS b ON a.activity_id = b.activity_id WHERE 1= 1 `
  320. if conditionAudio != `` {
  321. sql += conditionAudio
  322. }
  323. sql += ` ORDER BY publish_time DESC`
  324. totalSql := `SELECT COUNT(1) total FROM (` + sql + `) z `
  325. err = o.Raw(totalSql, pars, parsAct, parsAudio).QueryRow(&total)
  326. return
  327. }
  328. // GetMicroRoadShowVideoPageList 获取微路演视频列表-分页
  329. func GetMicroRoadShowVideoPageListIkWord(startSize, pageSize int, condition string, pars []interface{}, conditionAct string, parsAct []interface{}, conditionAudio string, parsAudio []interface{}) (list []*MicroRoadShowPageList, err error) {
  330. o := orm.NewOrm()
  331. var sql string
  332. //if audioId+activityVideoId == 0 && filter != 2 {
  333. sql += `SELECT
  334. video_id AS id,
  335. video_name AS title,
  336. video_url AS resource_url,
  337. 3 AS type,
  338. publish_date AS publish_time,
  339. chart_permission_id,
  340. chart_permission_name,
  341. video_duration AS play_seconds,
  342. img_url AS background_img,
  343. industry_name,
  344. share_img_url AS share_img,
  345. "" as activity_id
  346. FROM
  347. cygx_micro_roadshow_video
  348. WHERE
  349. publish_status = 1 `
  350. if condition != `` {
  351. sql += condition
  352. }
  353. //}
  354. //if audioId+videoId+activityVideoId == 0 && filter != 2 {
  355. // sql += ` UNION ALL `
  356. //}
  357. sql += ` UNION ALL `
  358. //if audioId+videoId == 0 && filter != 2 {
  359. sql += `
  360. SELECT
  361. video_id AS id,
  362. video_name AS title,
  363. video_url AS resource_url,
  364. 2 AS type,
  365. art.activity_time as publish_time,
  366. art.chart_permission_id,
  367. art.chart_permission_name,
  368. "" AS play_seconds,
  369. v.background_img,
  370. "" AS industry_name,
  371. v.share_img,
  372. v.activity_id
  373. FROM
  374. cygx_activity_video as v
  375. INNER JOIN cygx_activity as art on art.activity_id = v.activity_id WHERE 1= 1 `
  376. if conditionAct != `` {
  377. sql += conditionAct
  378. }
  379. //}
  380. //if audioId+videoId+activityVideoId == 0 && filter == 0 {
  381. // sql += ` UNION ALL `
  382. //}
  383. sql += ` UNION ALL `
  384. //if videoId+activityVideoId == 0 && filter != 1 {
  385. sql += `
  386. SELECT
  387. a.activity_voice_id AS id,
  388. a.voice_name AS title,
  389. a.voice_url AS resource_url,
  390. 1 AS type,
  391. b.activity_time AS publish_time,
  392. b.chart_permission_id,
  393. b.chart_permission_name,
  394. a.voice_play_seconds AS play_seconds,
  395. a.background_img,
  396. "" AS industry_name,
  397. a.share_img,
  398. a.activity_id
  399. FROM
  400. cygx_activity_voice AS a
  401. JOIN cygx_activity AS b ON a.activity_id = b.activity_id WHERE 1= 1 `
  402. if conditionAudio != `` {
  403. sql += conditionAudio
  404. }
  405. //}
  406. sql += ` ORDER BY publish_time DESC`
  407. sql += ` LIMIT ?,?`
  408. _, err = o.Raw(sql, pars, parsAct, parsAudio, startSize, pageSize).QueryRows(&list)
  409. return
  410. }
  411. type AddVideoHistoryReq struct {
  412. SourceId int `description:"资源ID"`
  413. //VideoId int `description:"视频ID"`
  414. PlaySeconds int `description:"播放时长"`
  415. //SourceType int `description:"视频来源: 1-微路演; 2-活动 (不传默认为1)"`
  416. SourceType int `description:"音视频来源: 1-活动音频; 2-活动视频; 3-产业视频; 4-系列问答"`
  417. }
  418. func GetLastCygxMicroRoadshowVideoHistory(videoId, userId int) (item *CygxMicroRoadshowVideoHistory, err error) {
  419. o := orm.NewOrm()
  420. sql := ` SELECT * FROM cygx_micro_roadshow_video_history WHERE video_id=? AND user_id=? ORDER BY create_time DESC limit 1 `
  421. err = o.Raw(sql, videoId, userId).QueryRow(&item)
  422. return
  423. }
  424. func AddCygxMicroRoadshowVideoHistory(item *CygxMicroRoadshowVideoHistory) (err error) {
  425. o := orm.NewOrm()
  426. _, err = o.Insert(item)
  427. return
  428. }
  429. // MicroAudioUnionList 微路演音频联合列表
  430. type MicroAudioUnionList struct {
  431. Id int `description:"音视频ID"`
  432. AudioTitle string `description:"标题"`
  433. AudioResourceUrl string `description:"链接"`
  434. AudioType int `description:"类型: 1-音频; 2-视频"`
  435. AudioPublishTime string `description:"发布时间"`
  436. AudioImgUrl string `description:"背景图"`
  437. AudioShareImg string `description:"分享图"`
  438. AudioChartPermissionId int `description:"行业ID"`
  439. AudioChartPermissionName string `description:"行业名称"`
  440. AudioPlaySeconds string `description:"音视频时长"`
  441. AudioActivityId int `description:"活动ID"`
  442. AuthInfo *UserPermissionAuthInfo
  443. }
  444. // HomeNewestUnionList 首页最新纪要-音频联合查询结果
  445. type HomeNewestUnionList struct {
  446. ArticleId int `description:"文章id"`
  447. Title string `description:"标题"`
  448. TitleEn string `description:"英文标题 "`
  449. UpdateFrequency string `description:"更新周期"`
  450. CreateDate string `description:"创建时间"`
  451. PublishDate string `description:"发布时间"`
  452. Body string `description:"内容"`
  453. BodyHtml string `description:"内容带有HTML标签"`
  454. Abstract string `description:"摘要"`
  455. CategoryName string `description:"一级分类"`
  456. SubCategoryName string `description:"二级分类"`
  457. ExpertBackground string `description:"专家背景"`
  458. IsResearch bool `description:"是否属于研选"`
  459. Pv int `description:"PV"`
  460. ImgUrlPc string `description:"图片链接"`
  461. CategoryId string `description:"文章分类"`
  462. HttpUrl string `description:"文章链接跳转地址"`
  463. IsNeedJump bool `description:"是否需要跳转链接地址"`
  464. Source int `description:"来源 1:文章, 2:图表"`
  465. Annotation string `description:"核心观点"`
  466. HomeType int `description:"数据类型:0-纪要(默认); 1-微路演音频"`
  467. MicroAudioUnionList
  468. }
  469. // GetHomeNewestListUnionList 首页最新纪要-音频联合查询
  470. func GetHomeNewestListUnionList(condition string, pars []interface{}, startSize, pageSize int) (list []*HomeNewestUnionList, err error) {
  471. sql := `SELECT
  472. id, article_id, title, title_en, update_frequency, create_date, publish_date, body, abstract, category_name, sub_category_name, expert_background, category_id, source, annotation,
  473. (SELECT count(1) FROM cygx_article_history_record_newpv as h WHERE h.article_id = art.article_id ) as pv,
  474. 0 AS home_type, "" AS audio_title, "" AS audio_resource_url, 0 AS audio_type, "" AS audio_publish_time, 0 AS audio_chart_permission_id, "" AS audio_chart_permission_name,
  475. "" AS audio_play_seconds, "" AS audio_img_url, 0 AS audio_activity_id
  476. FROM
  477. cygx_article AS art
  478. WHERE
  479. art.publish_status = 1 `
  480. if condition != `` {
  481. sql += condition
  482. }
  483. sql += ` UNION ALL
  484. SELECT
  485. a.activity_voice_id, 0, "", "", "", "", b.activity_time, "", "", "", "", "", 0, 0, "",
  486. 0, 1, a.voice_name, a.voice_url, 1, b.activity_time,
  487. b.chart_permission_id, b.chart_permission_name, a.voice_play_seconds AS audio_play_seconds, a.img_url AS audio_img_url, a.activity_id AS audio_activity_id
  488. FROM
  489. cygx_activity_voice AS a
  490. JOIN cygx_activity AS b ON a.activity_id = b.activity_id`
  491. sql += ` ORDER BY publish_date DESC`
  492. sql += ` LIMIT ?,?`
  493. _, err = orm.NewOrm().Raw(sql, pars, startSize, pageSize).QueryRows(&list)
  494. return
  495. }
  496. // GetHomeNewestListUnionCount 首页最新纪要-音频联合查询总数
  497. func GetHomeNewestListUnionCount(condition string, pars []interface{}) (count int, err error) {
  498. o := orm.NewOrm()
  499. sql := `SELECT
  500. COUNT(1) AS count
  501. FROM
  502. (
  503. SELECT
  504. art.id
  505. FROM
  506. cygx_article AS art
  507. WHERE
  508. art.publish_status = 1 `
  509. if condition != `` {
  510. sql += condition
  511. }
  512. sql += ` UNION ALL
  513. SELECT
  514. a.activity_voice_id
  515. FROM
  516. cygx_activity_voice AS a
  517. JOIN cygx_activity AS b ON a.activity_id = b.activity_id
  518. ) z `
  519. err = o.Raw(sql, pars).QueryRow(&count)
  520. return
  521. }
  522. // MicroRoadshowVideo 微路演视频
  523. type MicroRoadshowVideo struct {
  524. VideoId int `orm:"column(video_id);pk" description:"视频ID"`
  525. VideoName string `description:"视频标题"`
  526. ChartPermissionId int `description:"行业ID"`
  527. ChartPermissionName string `description:"行业名称"`
  528. IndustryId int `description:"产业ID"`
  529. IndustryName string `description:"产业名称"`
  530. PublishStatus int `description:"发布状态:0-未发布;1-已发布"`
  531. ModifyDate time.Time `description:"更新时间"`
  532. PublishDate time.Time `description:"发布时间"`
  533. VideoCounts int `description:"视频播放量"`
  534. VideoDuration int `description:"视频时长"`
  535. VideoUrl string `description:"视频地址"`
  536. CreateTime time.Time `description:"创建时间"`
  537. ImgUrl string `description:"背景图链接"`
  538. DetailImgUrl string `description:"产业详情页背景图"`
  539. }
  540. // GetMicroRoadshowVideoById 主键获取微路演视频
  541. func GetMicroRoadshowVideoById(videoId int) (item *MicroRoadshowVideo, err error) {
  542. sql := `SELECT * FROM cygx_micro_roadshow_video WHERE video_id = ? LIMIT 1`
  543. err = orm.NewOrm().Raw(sql, videoId).QueryRow(&item)
  544. return
  545. }
  546. func UpdateCygxActivityVideoCounts(activityId int) (err error) {
  547. sql := `UPDATE cygx_micro_roadshow_video SET video_counts = video_counts+1 WHERE video_id = ? `
  548. o := orm.NewOrm()
  549. _, err = o.Raw(sql, activityId).Exec()
  550. return
  551. }
  552. // GetMicroRoadshowVideoByIndustryIds 根据行业ID查询产业视频列表
  553. func GetMicroRoadshowVideoByIndustryIds(industrialIdArr []int) (list []*MicroRoadshowVideo, err error) {
  554. sql := `SELECT * FROM cygx_micro_roadshow_video WHERE industry_id in (` + utils.GetOrmInReplace(len(industrialIdArr)) + `) and publish_status = 1 `
  555. _, err = orm.NewOrm().Raw(sql, industrialIdArr).QueryRows(&list)
  556. return
  557. }
  558. // GetMicroRoadshowVideoByIndustryId 根据行业ID查询产业视频列表
  559. func GetMicroRoadshowVideoByIndustryId(industryId int) (item *MicroRoadshowVideo, err error) {
  560. sql := `SELECT * FROM cygx_micro_roadshow_video WHERE industry_id = ? and publish_status = 1`
  561. err = orm.NewOrm().Raw(sql, industryId).QueryRow(&item)
  562. return
  563. }
  564. type AddVideoCommnetReq struct {
  565. //Id int `description:"活动或产业ID"`
  566. SourceId int `description:"资源ID"`
  567. SourceType int `description:"视频来源: 1-音频; 2-活动视频; 3-微路演视频 (不传默认为1)"`
  568. Content string `description:"内容"`
  569. Title string `description:"标题"`
  570. }
  571. type MicroRoadshowCollectReq struct {
  572. SourceId int `description:"音频或视频ID"`
  573. SourceType int `description:"视频来源: 1-音频; 2-活动视频; 3-微路演视频 (不传默认为1)"`
  574. }
  575. // GetMicroRoadshowVideoListBycondition 根据搜索条件获取搜索列表
  576. func GetMicroRoadshowVideoListBycondition(condition string, pars []interface{}, startSize, pageSize int) (list []*MicroRoadshowVideo, err error) {
  577. sql := `SELECT * FROM cygx_micro_roadshow_video WHERE 1 =1 `
  578. if condition != "" {
  579. sql += condition
  580. }
  581. sql += ` LIMIT ?,? `
  582. _, err = orm.NewOrm().Raw(sql, pars, startSize, pageSize).QueryRows(&list)
  583. return
  584. }
  585. // GetMicroRoadshowVideoList 获取已经发布的微路演视频
  586. func GetMicroRoadshowVideoList() (list []*MicroRoadshowVideo, err error) {
  587. sql := `SELECT * FROM cygx_micro_roadshow_video WHERE publish_status = 1`
  588. _, err = orm.NewOrm().Raw(sql).QueryRows(&list)
  589. return
  590. }
  591. // GetMicroRoadshowVideoByIndustryIdCount 根据行业ID查询产业视频是否存在
  592. func GetMicroRoadshowVideoByIndustryIdCount(industryId int) (count int, err error) {
  593. o := orm.NewOrm()
  594. sql := `SELECT COUNT(1) count
  595. FROM cygx_micro_roadshow_video WHERE industry_id = ? and publish_status = 1`
  596. err = o.Raw(sql, industryId).QueryRow(&count)
  597. return
  598. }