Browse Source

章节报告的音频列表

Roc 7 months ago
parent
commit
789cfc6365
2 changed files with 35 additions and 32 deletions
  1. 32 29
      services/report/report.go
  2. 3 3
      services/report/report_chapter.go

+ 32 - 29
services/report/report.go

@@ -934,22 +934,23 @@ func GetReportList(user user.UserInfo, keyWord string, classifyIdFirst, classify
 		var videoReportIds []int
 		videoMap := make(map[int][]*response.VideoListItem)
 		weekAuthMap := make(map[int]bool)
+
+		// 判断周报权限\查询章节报告的音频列表
+		videoMap, weekAuthMap, errMsg, err = GetReportChapterVideoList(validPermissionIdList, classifyParent.ClassifyName, list, user.UserID)
+		if err != nil {
+			return
+		}
+
+		// 如果是晨报,那么就要过滤掉weekAuthMap的授权
 		if classifyParent.ClassifyName == "晨报" && productAuthOk {
-			//获取晨报的音频列表
-			videoMap, _, errMsg, err = GetReportChapterVideoList(validPermissionIdList, classifyParent.ClassifyName, list, user.UserID)
-			if err != nil {
-				return
-			}
-		} else if classifyParent.ClassifyName == "周报" {
+			weekAuthMap = map[int]bool{}
+		} else {
 			//查询所有权限typeID
 			//如果存在可以查看的章节ID
 			for _, reportInfo := range list {
-				videoReportIds = append(videoReportIds, reportInfo.Id)
-			}
-			// 判断周报权限\查询周报的音频列表
-			videoMap, weekAuthMap, errMsg, err = GetReportChapterVideoList(validPermissionIdList, classifyParent.ClassifyName, list, user.UserID)
-			if err != nil {
-				return
+				if reportInfo.HasChapter == 1 {
+					videoReportIds = append(videoReportIds, reportInfo.Id)
+				}
 			}
 		}
 		// 以下分类图标特殊处理 =_=!
@@ -1012,25 +1013,27 @@ func GetReportList(user user.UserInfo, keyWord string, classifyIdFirst, classify
 			reportItem.ReportImgUrl = coverImg
 			reportItem.VideoImg = reportItem.ReportImgUrl
 
-			if classifyParent.ClassifyName == "晨报" && productAuthOk {
-				// 查询当前晨报的所有音频
-				if vList, ok := videoMap[reportInfo.Id]; ok {
-					for _, vd := range vList {
-						vd.VideoImg = reportItem.ReportImgUrl
+			if reportItem.HasChapter == 1 {
+				if classifyParent.ClassifyName == "晨报" && productAuthOk {
+					// 查询当前晨报的所有音频
+					if vList, ok := videoMap[reportInfo.Id]; ok {
+						for _, vd := range vList {
+							vd.VideoImg = reportItem.ReportImgUrl
+						}
+						reportItem.VideoList = vList
 					}
-					reportItem.VideoList = vList
-				}
-				reportItem.AuthOk = productAuthOk
-			} else if classifyParent.ClassifyName == "周报" {
-				if wAuth, ok := weekAuthMap[reportInfo.Id]; ok {
-					reportItem.AuthOk = wAuth
-					if wAuth {
-						// 查询当前晨报的所有音频
-						if vList, ok2 := videoMap[reportInfo.Id]; ok2 {
-							for _, vd := range vList {
-								vd.VideoImg = reportItem.ReportImgUrl
+					reportItem.AuthOk = productAuthOk
+				} else {
+					if wAuth, ok := weekAuthMap[reportInfo.Id]; ok {
+						reportItem.AuthOk = wAuth
+						if wAuth {
+							// 查询当前晨报的所有音频
+							if vList, ok2 := videoMap[reportInfo.Id]; ok2 {
+								for _, vd := range vList {
+									vd.VideoImg = reportItem.ReportImgUrl
+								}
+								reportItem.VideoList = vList
 							}
-							reportItem.VideoList = vList
 						}
 					}
 				}

+ 3 - 3
services/report/report_chapter.go

@@ -500,7 +500,7 @@ func GetReportChapterVideoList(permissionIds []int, classifyName string, list []
 
 	var chapters []*report_chapter.ReportChapter
 	setMap := make(map[int]int)
-	if classifyName == "周报" {
+	if classifyName != "晨报" {
 		// 查询用户有权限的章节ID
 		newTypeIds, tErr := GetWeekTypeIdsByPermissionIds(permissionIds, typeIds)
 		if tErr != nil {
@@ -528,14 +528,14 @@ func GetReportChapterVideoList(permissionIds []int, classifyName string, list []
 		return
 	}
 	for _, v := range chapters {
-		if classifyName == "周报" {
+		if classifyName != "晨报" {
 			weekAuthMap[v.ReportId] = true
 		}
 		if temp, ok := typeMap[v.TypeId]; ok && v.VideoUrl != "" {
 			if reportDetail, ok1 := reportMap[v.ReportId]; ok1 {
 				reportDate := reportDetail.CreateTime
 				if reportDate.Before(temp.PauseStartTime) || reportDate.After(temp.PauseEndTime) {
-					if classifyName == "周报" {
+					if classifyName != "晨报" {
 						if _, sok := setMap[v.TypeId]; sok {
 							videoItem := new(response.VideoListItem)
 							videoItem.VideoPlaySeconds = v.VideoPlaySeconds