video.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package community
  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. // @Success 200 {object}
  18. // @failure 400 {string} string "获取失败"
  19. // @Router /video/list [get]
  20. func VideoList(c *gin.Context) {
  21. var req request.VideoListReq
  22. if err := c.Bind(&req); err != nil {
  23. response.Fail("参数有误", c)
  24. return
  25. }
  26. if req.PageIndex == 0 {
  27. req.PageIndex = 1
  28. }
  29. if req.PageSize == 0 {
  30. req.PageSize = utils.PageSize20
  31. }
  32. list, err := community.GetVideoList(req.PageIndex, req.PageSize, req.VideoId, req.Keywords)
  33. if err != nil {
  34. response.FailMsg("获取失败", "VideoList ErrMsg:"+err.Error(), c)
  35. return
  36. }
  37. response.OkData("获取成功", list, c)
  38. }
  39. // VideoPlayLog 记录视频播放日志
  40. // @Tags 视频社区模块
  41. // @Description 记录视频播放日志
  42. // @Param video_id query int true "音频ID"
  43. // @Param source_agent query int true "操作来源,1:小程序,2:小程序 pc 3:弘则研究公众号,4:web pc"
  44. // @Success 200 {string} string "操作成功"
  45. // @failure 400 {string} string "操作失败"
  46. // @Router /video/play_log [post]
  47. func VideoPlayLog(c *gin.Context) {
  48. var req request.VideoPlayLogReq
  49. if err := c.ShouldBind(&req); err != nil {
  50. response.Fail("参数有误", c)
  51. return
  52. }
  53. if req.VideoId == 0 {
  54. response.Fail("参数有误", c)
  55. return
  56. }
  57. if req.SourceAgent == 0 {
  58. response.Fail("参数有误", c)
  59. return
  60. }
  61. userinfo := user.GetInfoByClaims(c)
  62. errMsg, err := community.SaveVideoPlayLog(userinfo, req.VideoId, req.SourceAgent)
  63. if err != nil {
  64. response.FailMsg(errMsg, "VideoPlayLog ErrMsg:"+err.Error(), c)
  65. return
  66. }
  67. response.Ok("操作成功", c)
  68. }