|
@@ -139,3 +139,67 @@ func (er *EnglishVideoController) Detail(c *gin.Context) {
|
|
|
baseData.Video = videoDetail
|
|
|
resp.OkData("查询成功", baseData, c)
|
|
|
}
|
|
|
+
|
|
|
+// VideoPlayLog 记录视频播放日志
|
|
|
+// @Tags 视频社区模块
|
|
|
+// @Description 记录视频播放日志
|
|
|
+// @Param video_id query int true "音频ID"
|
|
|
+// @Param source_agent query int true "操作来源,1:小程序,2:小程序 pc 3:弘则研究公众号,4:web pc"
|
|
|
+// @Success 200 {string} string "操作成功"
|
|
|
+// @failure 400 {string} string "操作失败"
|
|
|
+// @Router /play_log [post]
|
|
|
+func (er *EnglishVideoController) VideoPlayLog(c *gin.Context) {
|
|
|
+ var req english_video.VideoPlayLogReq
|
|
|
+ err := c.ShouldBind(&req)
|
|
|
+ if err != nil {
|
|
|
+ errs, ok := err.(validator.ValidationErrors)
|
|
|
+ if !ok {
|
|
|
+ resp.FailData("参数解析失败", "Err:"+err.Error(), c)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp.FailData("参数解析失败", errs.Translate(global.Trans), c)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ shareEmailIdStr := c.GetString("shareEmailId")
|
|
|
+ shareEmailId, _ := strconv.Atoi(shareEmailIdStr)
|
|
|
+
|
|
|
+ item := new(english_video.PlayLog)
|
|
|
+ if req.Id > 0 {
|
|
|
+ //查找当前播放日志,并更新停止播放时长
|
|
|
+ item.Id = req.Id
|
|
|
+ item, err = item.GetById()
|
|
|
+ if err != nil {
|
|
|
+ if err == utils.ErrNoRow {
|
|
|
+ resp.Fail("播放日志不存在", c)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp.FailMsg("查询播放日志失败", "新增播放日志失败,Err:" + err.Error(), c)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ item.StopSeconds = req.StopSeconds
|
|
|
+ err = item.Update([]string{"stop_seconds"})
|
|
|
+ if err != nil {
|
|
|
+ resp.FailMsg("更新播放日志失败", "更新播放日志失败,Err:" + err.Error(), c)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if req.VideoId == 0 {
|
|
|
+ resp.Fail("请输入点击的视频ID", c)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ item = &english_video.PlayLog{
|
|
|
+ VideoId: req.VideoId,
|
|
|
+ EmailId: shareEmailId,
|
|
|
+ StopSeconds: 0,
|
|
|
+ }
|
|
|
+ err = item.Add()
|
|
|
+ if err != nil {
|
|
|
+ resp.FailMsg("新增播放日志失败", "新增播放日志失败,Err:" + err.Error(), c)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ baseData := new(english_video.VideoPlayLogResp)
|
|
|
+ baseData.Id = item.Id
|
|
|
+ resp.OkData("操作成功", baseData, c)
|
|
|
+}
|