Browse Source

修改视频列表

xiexiaoyuan 2 years ago
parent
commit
67a106b71e
2 changed files with 34 additions and 9 deletions
  1. 5 1
      controller/road/video.go
  2. 29 8
      services/community/video.go

+ 5 - 1
controller/road/video.go

@@ -33,8 +33,12 @@ func VideoList(c *gin.Context) {
 		req.PageSize = utils.PageSize20
 	}
 	userinfo := user.GetInfoByClaims(c)
-	list, err := community.GetRoadVideoList(userinfo, req.PageIndex, req.PageSize, req.VideoId, req.ChartPermissionId, req.Keywords)
+	list, err, code := community.GetRoadVideoList(userinfo, req.PageIndex, req.PageSize, req.VideoId, req.ChartPermissionId, req.Keywords)
 	if err != nil {
+		if code == response.SPECIFIC_FAIL_CODE {
+			response.SpecificFail(list, err.Error(), c)
+			return
+		}
 		response.FailMsg("获取失败", "VideoList ErrMsg:"+err.Error(), c)
 		return
 	}

+ 29 - 8
services/community/video.go

@@ -2,6 +2,7 @@ package community
 
 import (
 	"errors"
+	response2 "hongze/hongze_yb/controller/response"
 	"hongze/hongze_yb/models/response"
 	"hongze/hongze_yb/models/tables/chart_permission"
 	"hongze/hongze_yb/models/tables/company_product"
@@ -114,7 +115,7 @@ func SaveVideoPlayLog(userInfo user.UserInfo, videoId, sourceAgent int, videoTyp
 }
 
 // GetRoadVideoList 获取线上路演视频列表
-func GetRoadVideoList(userInfo user.UserInfo, pageIndex, pageSize, videoId, chartPermissionId int, keywords string) (resp response.RoadVideoItemResp, err error) {
+func GetRoadVideoList(userInfo user.UserInfo, pageIndex, pageSize, videoId, chartPermissionId int, keywords string) (resp response.RoadVideoItemResp, err error, code int) {
 	list := make([]*response.RoadVideoItem, 0)
 	//获取有权限的permissionID
 	validPermissionList, err := company.GetValidPermissionByCompany2ProductId(userInfo.CompanyID, 1)
@@ -148,9 +149,29 @@ func GetRoadVideoList(userInfo user.UserInfo, pageIndex, pageSize, videoId, char
 	condition := `is_deleted = 0 AND publish_state = 1 and chart_permission_ids REGEXP "(`+permissionIds+`)"`
 	var par []interface{}
 	// 分享点进来的直接定位到具体视频
+	var videoList []*yb_road_video.YbRoadVideo
+	var total int64
 	if videoId > 0 {
-		condition += " and road_video_id = ?"
-		par = append(par, videoId)
+		conditionOne := ` road_video_id = ? and chart_permission_ids REGEXP "(`+permissionIds+`)"`
+		var parOne []interface{}
+		parOne = append(parOne, videoId)
+		videoList, total, err = yb_road_video.GetPageListByCondition(conditionOne, parOne, pageIndex, pageSize)
+		if err != nil {
+			err = errors.New("获取视频列表失败, Err:" + err.Error())
+			return
+		}
+		if total == 0 { //无权限
+			code = response2.SPECIFIC_FAIL_CODE
+			err = errors.New("无查看该视频的权限")
+			return
+		}
+		for _, v := range videoList {
+			if v.IsDeleted != 0 || v.PublishState !=1 {
+				resp.List = list
+				resp.Paging = response.GetPaging(pageIndex, pageSize, 0)
+				return
+			}
+		}
 	} else {
 		if chartPermissionId > 0 {
 			condition += ` and FIND_IN_SET("'`+strconv.Itoa(chartPermissionId)+`'", chart_permission_ids)`
@@ -159,13 +180,13 @@ func GetRoadVideoList(userInfo user.UserInfo, pageIndex, pageSize, videoId, char
 			condition += " and title like ? "
 			par = append(par,"%" + keywords + "%")
 		}
+		videoList, total, err = yb_road_video.GetPageListByCondition(condition, par, pageIndex, pageSize)
+		if err != nil {
+			err = errors.New("获取视频列表失败, Err:" + err.Error())
+			return
+		}
 	}
 
-	videoList, total, e := yb_road_video.GetPageListByCondition(condition, par, pageIndex, pageSize)
-	if e != nil {
-		err = errors.New("获取视频列表失败, Err:" + e.Error())
-		return
-	}
 	if len(videoList) <= 0 {
 		resp.List = list
 		resp.Paging = response.GetPaging(pageIndex, pageSize, 0)