video.go 2.1 KB

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