Browse Source

先判断视频是否存在,在判断是否有无权限

xiexiaoyuan 2 years ago
parent
commit
828220d950
1 changed files with 24 additions and 14 deletions
  1. 24 14
      services/community/video.go

+ 24 - 14
services/community/video.go

@@ -152,25 +152,35 @@ func GetRoadVideoList(userInfo user.UserInfo, pageIndex, pageSize, videoId, char
 	var videoList []*yb_road_video.YbRoadVideo
 	var total int64
 	if videoId > 0 {
-		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
+		videoInfo, e := yb_road_video.GetItemById(videoId)
+		if e != nil {
+			if e != utils.ErrNoRow {
+				err = errors.New("获取视频信息失败, Err:" + e.Error())
+				return
+			}
 		}
-		for _, v := range videoList {
-			if v.IsDeleted != 0 || v.PublishState !=1 {
+		if videoInfo != nil && videoInfo.RoadVideoID > 0{
+			if videoInfo.IsDeleted != 0 || videoInfo.PublishState !=1 {
 				resp.List = list
 				resp.Paging = response.GetPaging(pageIndex, pageSize, 0)
 				return
 			}
+			permissionIdsSlice := strings.Split(permissionIds,"|")
+			videoPermissionIdsSlice := strings.Split(videoInfo.ChartPermissionIds, ",")
+			hasPermission := false
+			for _, v1 := range permissionIdsSlice {
+				for _, v2 := range videoPermissionIdsSlice {
+					if v1 == v2 {
+						hasPermission = true
+						break
+					}
+				}
+			}
+			if !hasPermission { //无权限
+				code = response2.SPECIFIC_FAIL_CODE
+				err = errors.New("无查看该视频的权限")
+				return
+			}
 		}
 	} else {
 		if chartPermissionId > 0 {