Browse Source

Merge branch 'yb/11_road_video' into debug

xiexiaoyuan 2 years ago
parent
commit
2d68b299f4
1 changed files with 20 additions and 22 deletions
  1. 20 22
      services/community/video.go

+ 20 - 22
services/community/video.go

@@ -207,38 +207,35 @@ func GetRoadVideoList(userInfo user.UserInfo, pageIndex, pageSize, videoId, char
 		}
 	}
 	var chartPermissionNames string
-	var parentPermissionName string
 	for _, v := range videoList {
 		chartPermissionNames = ""
-		parentPermissionName = ""
+		itemParentPermissionNum := make(map[string]int)
 		tmpSlice := strings.Split(v.ChartPermissionIds, ",")
 		if len(tmpSlice) > 0 {
-			// 判断是否有跨品种的chartPermissionID
+			// 拼接一级标签
 			for _, cid := range tmpSlice {
 				if p, ok := ParentPermissionNameMap[cid]; ok {
-					if parentPermissionName  == "" {
-						parentPermissionName = p
-					}else if parentPermissionName != p  {
-						parentPermissionName = ""
-						break
+					if _, ok1 := itemParentPermissionNum[p]; !ok1 {
+						itemParentPermissionNum[p] = 0
+						chartPermissionNames += p +","
 					}
 				}
 			}
-			//如果都是一个品种内,如果全部包含二级品种,则显示一级品种名称,否则展示全部二级品种
-			if parentPermissionName != "" {
-				hasNum := 0
-				for _, cid := range tmpSlice {
-					if _, ok := chartNameMap[cid]; ok {
-						if _, ok1 := validPermissionMap[cid]; ok1 {
-							hasNum += 1
-						}
+			// 查询可显示的所有品种是否包含所有一级品种的二级品种
+			for _, cid := range tmpSlice {
+				if _, ok := chartNameMap[cid]; ok {
+					if _, ok1 := validPermissionMap[cid]; ok1 {
+						itemParentPermissionNum[ParentPermissionNameMap[cid]] += 1
 					}
 				}
-				if n, ok := ParentPermissionChildMap[parentPermissionName]; ok && n == hasNum {
-					chartPermissionNames = parentPermissionName
+			}
+			for _, cid := range tmpSlice {
+				if n, ok := ParentPermissionChildMap[ParentPermissionNameMap[cid]]; ok && n != itemParentPermissionNum[ParentPermissionNameMap[cid]] {
+					chartPermissionNames = ""
+					break
 				}
 			}
-			//如果包含跨品种则
+
 			if chartPermissionNames == "" {
 				for _, cid := range tmpSlice {
 					if name, ok := chartNameMap[cid]; ok {
@@ -247,9 +244,10 @@ func GetRoadVideoList(userInfo user.UserInfo, pageIndex, pageSize, videoId, char
 						}
 					}
 				}
-				if chartPermissionNames != "" {
-					chartPermissionNames = strings.Trim(chartPermissionNames, ",")
-				}
+			}
+
+			if chartPermissionNames != "" {
+				chartPermissionNames = strings.Trim(chartPermissionNames, ",")
 			}
 		}