video.go 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package road
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "hongze/hongze_yb/controller/response"
  5. "hongze/hongze_yb/models/request"
  6. "hongze/hongze_yb/services/community"
  7. "hongze/hongze_yb/services/user"
  8. "hongze/hongze_yb/utils"
  9. )
  10. // VideoList 路演视频列表
  11. // @Tags 路演视频列表
  12. // @Description 路演视频列表
  13. // @Param page_index query int false "页码"
  14. // @Param page_size query int false "每页数量"
  15. // @Param keywords query string false "查询关键词"
  16. // @Param video_id query int false "视频ID"
  17. // @Param chart_permission_id query int false "品种ID"
  18. // @Success 200 {object}
  19. // @failure 400 {string} string "获取失败"
  20. // @Router /road/videos [get]
  21. func VideoList(c *gin.Context) {
  22. var req request.RoadVideoListReq
  23. if err := c.Bind(&req); err != nil {
  24. response.Fail("参数有误", c)
  25. return
  26. }
  27. if req.PageIndex == 0 {
  28. req.PageIndex = 1
  29. }
  30. if req.PageSize == 0 {
  31. req.PageSize = utils.PageSize20
  32. }
  33. userinfo := user.GetInfoByClaims(c)
  34. list, err, code := community.GetRoadVideoList(userinfo, req.PageIndex, req.PageSize, req.VideoId, req.ChartPermissionId, req.Keywords)
  35. if err != nil {
  36. if code == response.SPECIFIC_FAIL_CODE {
  37. response.SpecificFail(list, err.Error(), c)
  38. return
  39. }
  40. response.FailMsg("获取失败", "VideoList ErrMsg:"+err.Error(), c)
  41. return
  42. }
  43. // 点赞/吐槽数据
  44. err = community.HandleLikeOrTeaseByRoadVideoItemList(userinfo.UserID, list.List)
  45. if err != nil {
  46. response.FailMsg("获取失败", "QuestionList ErrMsg:"+err.Error(), c)
  47. return
  48. }
  49. // 评论数据
  50. err = community.HandleCommentByRoadVideoItemList(list.List)
  51. if err != nil {
  52. response.FailMsg("获取失败", "QuestionList ErrMsg:"+err.Error(), c)
  53. return
  54. }
  55. response.OkData("获取成功", list, c)
  56. }
  57. // VideoPlayLog 记录视频播放日志
  58. // @Tags 视频社区模块
  59. // @Description 记录视频播放日志
  60. // @Param video_id query int true "音频ID"
  61. // @Param source_agent query int true "操作来源,1:小程序,2:小程序 pc 3:弘则研究公众号,4:web pc"
  62. // @Success 200 {string} string "操作成功"
  63. // @failure 400 {string} string "操作失败"
  64. // @Router /video/play_log [post]
  65. func VideoPlayLog(c *gin.Context) {
  66. var req request.RoadVideoPlayLogReq
  67. if err := c.ShouldBind(&req); err != nil {
  68. response.Fail("参数有误", c)
  69. return
  70. }
  71. if req.VideoId == 0 {
  72. response.Fail("参数有误", c)
  73. return
  74. }
  75. if req.SourceAgent == 0 {
  76. response.Fail("参数有误", c)
  77. return
  78. }
  79. userinfo := user.GetInfoByClaims(c)
  80. newId, errMsg, err := community.SaveVideoPlayLog(userinfo, req.VideoId, req.SourceAgent, 2)
  81. if err != nil {
  82. response.FailMsg(errMsg, "VideoPlayLog ErrMsg:"+err.Error(), c)
  83. return
  84. }
  85. response.OkData("操作成功", newId, c)
  86. }