micro_roadshow.go 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  1. package cygx
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "github.com/rdlucklib/rdluck_tools/paging"
  5. "time"
  6. )
  7. type CygxMicroRoadshowVideo struct {
  8. VideoId int `orm:"column(video_id);pk"description:"微路演视频id"`
  9. VideoName string `description:"视频名称"`
  10. ChartPermissionId int `description:"行业Id"`
  11. ChartPermissionName string `description:"行业名称"`
  12. IndustryId int `description:"产业id"`
  13. IndustryName string `description:"产业名称"`
  14. PublishStatus int `description:"发布状态 1发布 0没有"`
  15. ModifyDate string `description:"更新时间"`
  16. PublishDate time.Time `description:"发布时间"`
  17. VideoDuration string `description:"视频时长"`
  18. VideoCounts int `description:"播放量"`
  19. VideoUrl string `description:"视频地址"`
  20. CreateTime string `description:"创建时间"`
  21. ImgUrl string `description:"视频封面图"`
  22. ShareImgUrl string `description:"视频分享图"`
  23. DetailImgUrl string `description:"产业详情页背景图"`
  24. CommentNum int `description:"留言总数"`
  25. IsSendWxMsg int `description:"是否推送过微信模板消息,1是,0:否"`
  26. }
  27. type CygxMicroRoadshowVideoResp struct {
  28. VideoId int `orm:"column(video_id);pk"description:"微路演视频id"`
  29. VideoName string `description:"视频名称"`
  30. ChartPermissionId int `description:"行业Id"`
  31. ChartPermissionName string `description:"行业名称"`
  32. IndustryId int `description:"产业id"`
  33. IndustryName string `description:"产业名称"`
  34. PublishStatus int `description:"发布状态 1发布 0没有"`
  35. ModifyDate string `description:"更新时间"`
  36. PublishDate string `description:"发布时间"`
  37. VideoDuration string `description:"视频时长"`
  38. VideoCounts int `description:"播放量"`
  39. VideoUrl string `description:"视频地址"`
  40. CreateTime string `description:"创建时间"`
  41. ImgUrl string `description:"视频封面图"`
  42. ShareImgUrl string `description:"视频分享图"`
  43. DetailImgUrl string `description:"产业详情页背景图"`
  44. CommentNum int `description:"留言总数"`
  45. }
  46. type MicroRoadshowVideoListResp struct {
  47. Paging *paging.PagingItem
  48. List []*CygxMicroRoadshowVideoResp
  49. }
  50. func GetMicroRoadshowVideoList(condition, sortStr string, pars []interface{}, startSize, pageSize int) (items []*CygxMicroRoadshowVideo, err error) {
  51. o := orm.NewOrmUsingDB("hz_cygx")
  52. sql := ` SELECT *,(SELECT COUNT(1) FROM cygx_article_comment AS h WHERE h.industry_id=v.industry_id AND h.activity_id = 0 ) AS comment_num FROM cygx_micro_roadshow_video as v WHERE 1=1 `
  53. if condition != "" {
  54. sql += condition
  55. }
  56. if sortStr == "" {
  57. sortStr = "ORDER BY publish_date DESC "
  58. }
  59. sql += sortStr + ` LIMIT ?,? `
  60. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
  61. return
  62. }
  63. func GetMicroRoadshowVideoListCount(condition string, pars []interface{}) (count int, err error) {
  64. o := orm.NewOrmUsingDB("hz_cygx")
  65. sql := `SELECT COUNT(1) AS count FROM cygx_micro_roadshow_video WHERE 1=1 `
  66. if condition != "" {
  67. sql += condition
  68. }
  69. err = o.Raw(sql, pars).QueryRow(&count)
  70. return
  71. }
  72. // 视频保存请求参数
  73. type VideoAddReq struct {
  74. VideoId int `description:"视频Id"`
  75. VideoName string `description:"视频标题"`
  76. VideoUrl string `description:"视频地址"`
  77. VideoDuration string `description:"视频时长"`
  78. ChartPermissionId int `description:"行业id"`
  79. IndustryId int `description:"产业id"`
  80. ImgUrl string `description:"视频封面图"`
  81. ShareImgUrl string `description:"视频分享图"`
  82. DetailImgUrl string `description:"产业详情页背景图"`
  83. PublishDate string `description:"发布时间"`
  84. PublishOrSave int `description:"保存或发布 1发布 0保存"`
  85. }
  86. func GetMicroRoadshowVideoByTitle(title string) (count int, err error) {
  87. o := orm.NewOrmUsingDB("hz_cygx")
  88. sql := ` SELECT COUNT(1) AS count FROM cygx_micro_roadshow_video WHERE video_name =? `
  89. err = o.Raw(sql, title).QueryRow(&count)
  90. return
  91. }
  92. // 新增视频
  93. func AddMicroRoadshowVideo(item *CygxMicroRoadshowVideo) (newId int64, err error) {
  94. o := orm.NewOrmUsingDB("hz_cygx")
  95. newId, err = o.Insert(item)
  96. return
  97. }
  98. // 视频编辑请求参数
  99. type VideoEditReq struct {
  100. VideoId int `description:"视频id"`
  101. VideoName string `description:"视频标题"`
  102. VideoUrl string `description:"视频地址"`
  103. VideoDuration string `description:"视频时长"`
  104. ChartPermissionId int `description:"行业Id"`
  105. ChartPermissionName string `description:"行业名称"`
  106. IndustryId int `description:"产业id"`
  107. IndustryName string `description:"产业名称"`
  108. PublishDate string `description:"发布时间"`
  109. }
  110. // 新增视频
  111. func EditVideo(item *CygxMicroRoadshowVideo) (err error) {
  112. o := orm.NewOrmUsingDB("hz_cygx")
  113. sql := " UPDATE cygx_micro_roadshow_video SET " +
  114. " video_url = ?, video_name = ?,chart_permission_id=?, chart_permission_name=?, industry_id =?, industry_name =?, " +
  115. " modify_date=?, publish_date=?, video_duration=?, img_url=?, share_img_url=?, detail_img_url=?, publish_status=? WHERE video_id = ? "
  116. _, err = o.Raw(sql, item.VideoUrl, item.VideoName, item.ChartPermissionId, item.ChartPermissionName,
  117. item.IndustryId, item.IndustryName, item.ModifyDate, item.PublishDate, item.VideoDuration, item.ImgUrl, item.ShareImgUrl, item.DetailImgUrl, item.PublishStatus, item.VideoId).Exec()
  118. return
  119. }
  120. func PublishVideoCancel(videoId, publishOrCancle int) (err error) {
  121. o := orm.NewOrmUsingDB("hz_cygx")
  122. sql := `UPDATE cygx_micro_roadshow_video SET publish_status=?,modify_date=NOW() WHERE video_id =?`
  123. _, err = o.Raw(sql, publishOrCancle, videoId).Exec()
  124. return
  125. }
  126. type CygxMicroRoadshowVideoHistory struct {
  127. Id int `orm:"column(id);pk"description:"微路演视频浏览记录表id"`
  128. VideoId int `description:"微路演视频id"`
  129. UserId int `description:"用户id"`
  130. Mobile string `description:"手机号"`
  131. Email string `description:"邮箱"`
  132. CompanyId int `description:"公司Id"`
  133. CompanyName string `description:"公司名称"`
  134. RealName string `description:"用户实际名称"`
  135. SellerName string `description:"所属销售"`
  136. PlaySeconds string `description:"播放时间 单位s"`
  137. CreateTime string `description:"视频创建时间"`
  138. ModifyTime time.Time `description:"视频修改时间"`
  139. RegisterPlatform string `description:"来源 1小程序,2:网页"`
  140. }
  141. func GetMicroRoadshowVideoHistoryByIdPage(condition string, pars []interface{}, startSize, pageSize int) (item []*CygxMicroRoadshowVideoHistory, err error) {
  142. o := orm.NewOrmUsingDB("hz_cygx")
  143. sql := ` SELECT * FROM cygx_micro_roadshow_video_history WHERE 1=1 `
  144. if condition != "" {
  145. sql += condition
  146. }
  147. sql += ` ORDER BY create_time DESC LIMIT ?,? `
  148. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&item)
  149. return
  150. }
  151. func GetMicroRoadshowVideoHistoryById(condition string, pars []interface{}) (item []*CygxMicroRoadshowVideoHistory, err error) {
  152. o := orm.NewOrmUsingDB("hz_cygx")
  153. sql := ` SELECT * FROM cygx_micro_roadshow_video_history WHERE 1=1 `
  154. if condition != "" {
  155. sql += condition
  156. }
  157. sql += ` ORDER BY create_time DESC `
  158. _, err = o.Raw(sql, pars).QueryRows(&item)
  159. return
  160. }
  161. //type CygxMicroRoadshowVoice struct {
  162. // ActivityVoiceId int `orm:"column(activity_voice_id);pk"description:"微路演视频id"`
  163. // ActivityId string `description:"活动Id"`
  164. // VoiceName string `description:"音频名称"`
  165. // ChartPermissionId int `description:"行业Id"`
  166. // ChartPermissionName string `description:"行业名称"`
  167. // IndustryId int `description:"产业id"`
  168. // IndustryName string `description:"产业名称"`
  169. // ModifyDate string `description:"更新时间"`
  170. // PublishDate string `description:"发布时间"`
  171. // VoicePlaySeconds string `description:"音频时长"`
  172. // VoiceCounts int `description:"播放量"`
  173. // VoiceUrl string `description:"音频地址"`
  174. // CreateTime string `description:"创建时间"`
  175. //}
  176. type CygxMicroRoadshowVoice struct {
  177. ActivityVoiceId int `description:"微路演音频id"`
  178. ActivityId string `description:"活动Id"`
  179. VoiceName string `description:"音频名称"`
  180. ChartPermissionId int `description:"行业Id"`
  181. ChartPermissionName string `description:"行业名称"`
  182. IndustryId int `description:"产业id"`
  183. IndustryName string `description:"产业名称"`
  184. ModifyTime string `description:"更新时间"`
  185. PublishDate string `description:"发布时间"`
  186. VoicePlaySeconds string `description:"音频时长"`
  187. VoiceCounts int `description:"播放量"`
  188. VoiceUrl string `description:"音频地址"`
  189. CreateTime string `description:"创建时间"`
  190. Label string `description:"活动标签"`
  191. ActivityTypeId string `description:"活动类型Id"`
  192. ActivityTypeName string `description:"活动类型名称"`
  193. ActivityTime time.Time `description:"活动类型时间"`
  194. ActivityTimeText string `description:"活动类型时间文字"`
  195. CommentNum int `description:"留言总数"`
  196. }
  197. type CygxMicroRoadshowVoiceRsep struct {
  198. ActivityVoiceId int `description:"微路演音频id"`
  199. ActivityId string `description:"活动Id"`
  200. VoiceName string `description:"音频名称"`
  201. ChartPermissionId int `description:"行业Id"`
  202. ChartPermissionName string `description:"行业名称"`
  203. IndustryId int `description:"产业id"`
  204. IndustryName string `description:"产业名称"`
  205. ModifyTime string `description:"更新时间"`
  206. PublishDate string `description:"发布时间"`
  207. VoicePlaySeconds string `description:"音频时长"`
  208. VoiceCounts int `description:"播放量"`
  209. VoiceUrl string `description:"音频地址"`
  210. CreateTime string `description:"创建时间"`
  211. Label string `description:"活动标签"`
  212. ActivityTypeId string `description:"活动类型Id"`
  213. ActivityTypeName string `description:"活动类型名称"`
  214. ActivityTime string `description:"活动类型时间"`
  215. ActivityTimeText string `description:"活动类型时间文字"`
  216. CommentNum int `description:"留言总数"`
  217. }
  218. type MicroRoadshowVoiceListResp struct {
  219. Paging *paging.PagingItem
  220. List []*CygxMicroRoadshowVoiceRsep
  221. }
  222. func GetMicroRoadshowVoiceList(condition, sortStr string, pars []interface{}, startSize, pageSize int) (items []*CygxMicroRoadshowVoice, err error) {
  223. o := orm.NewOrmUsingDB("hz_cygx")
  224. sql := ` SELECT
  225. v.*,
  226. a.label,
  227. a.activity_type_id,
  228. a.activity_type_name,
  229. a.activity_time,
  230. a.activity_time_text,
  231. (SELECT COUNT(1) FROM cygx_article_comment AS h WHERE h.activity_id=a.activity_id AND h.industry_id = 0 AND h.video_id = 0) AS comment_num,
  232. a.chart_permission_name
  233. FROM
  234. cygx_activity_voice AS v
  235. INNER JOIN cygx_activity AS a
  236. WHERE
  237. v.activity_id = a.activity_id `
  238. if condition != "" {
  239. sql += condition
  240. }
  241. if sortStr == "" {
  242. sortStr = "ORDER BY a.activity_time DESC "
  243. }
  244. sql += sortStr + ` LIMIT ?,? `
  245. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
  246. return
  247. }
  248. func GetMicroRoadshowVoiceListCount(condition string, pars []interface{}) (count int, err error) {
  249. o := orm.NewOrmUsingDB("hz_cygx")
  250. sql := `SELECT
  251. COUNT(1) AS count
  252. FROM
  253. cygx_activity_voice AS v
  254. INNER JOIN cygx_activity AS a
  255. WHERE
  256. v.activity_id = a.activity_id `
  257. if condition != "" {
  258. sql += condition
  259. }
  260. err = o.Raw(sql, pars).QueryRow(&count)
  261. return
  262. }
  263. type PermissionNameAndIndustryName struct {
  264. PermissionName string
  265. PermissionId int
  266. IndustryName string
  267. }
  268. func GetPermissionNameAndIndustryNameByIndustryId(industryId int) (item *PermissionNameAndIndustryName, err error) {
  269. o := orm.NewOrmUsingDB("hz_cygx")
  270. sql := `SELECT
  271. cm.industry_name as industry_name,
  272. cm.chart_permission_id AS permission_id
  273. FROM
  274. cygx_industrial_management AS cm
  275. WHERE
  276. 1=1
  277. AND cm.industrial_management_id = ? `
  278. err = o.Raw(sql, industryId).QueryRow(&item)
  279. return
  280. }
  281. type MicroRoadshowVideoHistoryListResp struct {
  282. Paging *paging.PagingItem
  283. List []*CygxMicroRoadshowVideoHistory
  284. }
  285. type CygxMicroRoadshowVoiceHistory struct {
  286. Id int `orm:"column(id);pk"description:"音频id"`
  287. VideoId int `description:"微路演音频id"`
  288. ActivityId int `description:"活动id"`
  289. UserId int `description:"用户id"`
  290. Mobile string `description:"手机号"`
  291. Email string `description:"邮箱"`
  292. CompanyId int `description:"公司Id"`
  293. CompanyName string `description:"公司名称"`
  294. RealName string `description:"用户实际名称"`
  295. SellerName string `description:"所属销售"`
  296. PlaySeconds string `description:"播放时间 单位s"`
  297. CreateTime string `description:"视频创建时间"`
  298. ModifyTime time.Time `description:"视频修改时间"`
  299. RegisterPlatform string `description:"来源 1小程序,2:网页"`
  300. }
  301. func GetMicroRoadshowVoiceHistoryById(condition string, pars []interface{}) (item []*CygxMicroRoadshowVoiceHistory, err error) {
  302. o := orm.NewOrmUsingDB("hz_cygx")
  303. sql := ` SELECT
  304. h.*
  305. FROM
  306. cygx_activity_voice_history AS h
  307. INNER JOIN cygx_activity_voice AS v
  308. WHERE
  309. 1 = 1
  310. AND v.activity_id = h.activity_id
  311. `
  312. if condition != "" {
  313. sql += condition
  314. }
  315. sql += ` ORDER BY create_time DESC `
  316. _, err = o.Raw(sql, pars).QueryRows(&item)
  317. return
  318. }
  319. func GetPermissionNameAndIndustryNameByChartPermissionId(ChartPermissionId int) (item *PermissionNameAndIndustryName, err error) {
  320. o := orm.NewOrm()
  321. sql := `SELECT
  322. chart_permission_id AS permission_id,
  323. chart_permission_name AS permission_name
  324. FROM
  325. chart_permission
  326. WHERE
  327. chart_permission_id = ? `
  328. err = o.Raw(sql, ChartPermissionId).QueryRow(&item)
  329. return
  330. }
  331. func GetMicroRoadshowVideoByIndustryId(industryId int) (item *CygxMicroRoadshowVideo, err error) {
  332. o := orm.NewOrmUsingDB("hz_cygx")
  333. sql := `SELECT * from cygx_micro_roadshow_video where industry_id = ? `
  334. err = o.Raw(sql, industryId).QueryRow(&item)
  335. return
  336. }
  337. func GetMicroRoadshowVideoByVideoId(videoId int) (item *CygxMicroRoadshowVideo, err error) {
  338. o := orm.NewOrmUsingDB("hz_cygx")
  339. sql := `SELECT * from cygx_micro_roadshow_video where video_id = ? `
  340. err = o.Raw(sql, videoId).QueryRow(&item)
  341. return
  342. }
  343. // 修改是否推送过模板消息的状态
  344. func UpdateIsSendWxMsg(videoId, isSendWxMsg int) (err error) {
  345. o := orm.NewOrmUsingDB("hz_cygx")
  346. sql := `UPDATE cygx_micro_roadshow_video SET is_send_wx_msg=? WHERE video_id =?`
  347. _, err = o.Raw(sql, isSendWxMsg, videoId).Exec()
  348. return
  349. }
  350. func GetMicroRoadshowVoiceById(activityId int) (item *CygxMicroRoadshowVoice, err error) {
  351. o := orm.NewOrmUsingDB("hz_cygx")
  352. sql := `SELECT
  353. v.*,
  354. a.label,
  355. a.activity_type_id,
  356. a.activity_type_name,
  357. a.activity_time,
  358. a.activity_time_text,
  359. a.chart_permission_name
  360. FROM
  361. cygx_activity_voice AS v
  362. INNER JOIN cygx_activity AS a
  363. WHERE
  364. v.activity_id = a.activity_id AND v.activity_id = ?`
  365. err = o.Raw(sql, activityId).QueryRow(&item)
  366. return
  367. }