|
@@ -121,10 +121,24 @@ func GetRoadVideoList(userInfo user.UserInfo, pageIndex, pageSize, videoId, char
|
|
|
if err != nil {
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ ficcPermissionList, err := chart_permission.GetFiccListExceptTacticByProductId()
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
permissionIds := ""
|
|
|
+ validPermissionMap := make(map[string]struct{})
|
|
|
+ ParentPermissionNameMap := make(map[string]string)
|
|
|
+ ParentPermissionChildMap := make(map[string]int)
|
|
|
for _, v := range validPermissionList {
|
|
|
permissionIds += "'"+strconv.Itoa(v.ChartPermissionID) + "'|"
|
|
|
+ validPermissionMap["'"+strconv.Itoa(v.ChartPermissionID)+"'"] = struct{}{}
|
|
|
}
|
|
|
+ for _, v := range ficcPermissionList {
|
|
|
+ ParentPermissionNameMap["'"+strconv.Itoa(int(v.ChartPermissionID))+"'"] = v.ClassifyName
|
|
|
+ ParentPermissionChildMap[v.ClassifyName] += 1
|
|
|
+ }
|
|
|
+
|
|
|
if permissionIds == "" {
|
|
|
resp.List = list
|
|
|
resp.Paging = response.GetPaging(pageIndex, pageSize, 0)
|
|
@@ -160,6 +174,7 @@ func GetRoadVideoList(userInfo user.UserInfo, pageIndex, pageSize, videoId, char
|
|
|
|
|
|
chartPermissionIdSlice := make([]int, 0)
|
|
|
chartNameMap := make(map[string]string)
|
|
|
+
|
|
|
for _, v := range videoList {
|
|
|
tmp := strings.Split(v.ChartPermissionIds, ",")
|
|
|
for _, t1 := range tmp {
|
|
@@ -178,19 +193,52 @@ func GetRoadVideoList(userInfo user.UserInfo, pageIndex, pageSize, videoId, char
|
|
|
}
|
|
|
}
|
|
|
var chartPermissionNames string
|
|
|
+ var parentPermissionName string
|
|
|
for _, v := range videoList {
|
|
|
chartPermissionNames = ""
|
|
|
+ parentPermissionName = ""
|
|
|
tmpSlice := strings.Split(v.ChartPermissionIds, ",")
|
|
|
if len(tmpSlice) > 0 {
|
|
|
+ // 判断是否有跨品种的chartPermissionID
|
|
|
for _, cid := range tmpSlice {
|
|
|
- if name, ok := chartNameMap[cid]; ok {
|
|
|
- chartPermissionNames += name + ","
|
|
|
+ if p, ok := ParentPermissionNameMap[cid]; ok {
|
|
|
+ if parentPermissionName == "" {
|
|
|
+ parentPermissionName = p
|
|
|
+ }else if parentPermissionName != p {
|
|
|
+ parentPermissionName = ""
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //如果都是一个品种内,如果全部包含二级品种,则显示一级品种名称,否则展示全部二级品种
|
|
|
+ if parentPermissionName != "" {
|
|
|
+ hasNum := 0
|
|
|
+ for _, cid := range tmpSlice {
|
|
|
+ if _, ok := chartNameMap[cid]; ok {
|
|
|
+ if _, ok1 := validPermissionMap[cid]; ok1 {
|
|
|
+ hasNum += 1
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if n, ok := ParentPermissionChildMap[parentPermissionName]; ok && n == hasNum {
|
|
|
+ chartPermissionNames = parentPermissionName
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //如果包含跨品种则
|
|
|
+ if chartPermissionNames == "" {
|
|
|
+ for _, cid := range tmpSlice {
|
|
|
+ if name, ok := chartNameMap[cid]; ok {
|
|
|
+ if _, ok1 := validPermissionMap[cid]; ok1 {
|
|
|
+ chartPermissionNames += name + ","
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if chartPermissionNames != "" {
|
|
|
+ chartPermissionNames = strings.Trim(chartPermissionNames, ",")
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if chartPermissionNames != "" {
|
|
|
- chartPermissionNames = strings.Trim(chartPermissionNames, ",")
|
|
|
- }
|
|
|
+
|
|
|
item := &response.RoadVideoItem{
|
|
|
RoadVideoID: v.RoadVideoID,
|
|
|
Title: v.Title,
|