|
@@ -57,7 +57,7 @@ func GetWeekTypeIdsByPermissionIds(permissionIds []int, typeIds []int) (newTypeI
|
|
|
}
|
|
|
|
|
|
// GetChapterListByReport 根据报告获取章节列表
|
|
|
-func GetChapterListByReport(classifyNameFirst string, reportId int, companyId int64) (reportTypeList[]*response.ReportTypeListItem, err error) {
|
|
|
+func GetChapterListByReport(classifyNameFirst string, reportId int, companyId int64) (reportTypeList[]*response.ReportChapterListItem, err error) {
|
|
|
var errMsg string
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
@@ -118,9 +118,8 @@ func GetChapterListByReport(classifyNameFirst string, reportId int, companyId in
|
|
|
continue
|
|
|
}
|
|
|
}
|
|
|
- temp := new(response.ReportTypeListItem)
|
|
|
+ temp := new(response.ReportChapterListItem)
|
|
|
temp.ReportChapterId = item.ReportChapterId
|
|
|
- temp.ReportId = item.ReportId
|
|
|
temp.TypeId = item.TypeId
|
|
|
temp.Title = item.Title
|
|
|
temp.ReportId = item.ReportId
|
|
@@ -200,9 +199,8 @@ func GetChapterDetail(user user.UserInfo, reportChapterId int) (reportChapterDet
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ var newTypeIds []int
|
|
|
if reportInfo.ClassifyNameFirst == "周报" {
|
|
|
- var newTypeIds []int
|
|
|
newTypeIds, err = GetWeekTypeIdsByPermissionIds(permissionIds, typeIds)
|
|
|
if err != nil && err != utils.ErrNoRow{
|
|
|
errMsg = tErr.Error()
|
|
@@ -216,6 +214,7 @@ func GetChapterDetail(user user.UserInfo, reportChapterId int) (reportChapterDet
|
|
|
}
|
|
|
authOk = chapterAuthOk
|
|
|
}
|
|
|
+ var chapterMenu []*response.ReportChapterMenu
|
|
|
reportChapterItem := new(response.ReportChapterItem)
|
|
|
reportChapterItem.ReportChapterId = reportChapter.ReportChapterId
|
|
|
reportChapterItem.ReportId = reportChapter.ReportId
|
|
@@ -229,12 +228,55 @@ func GetChapterDetail(user user.UserInfo, reportChapterId int) (reportChapterDet
|
|
|
if authOk {
|
|
|
reportChapterItem.Content = reportChapter.Content
|
|
|
reportChapterItem.VideoUrl = reportChapter.VideoUrl
|
|
|
+ //底部菜单切换
|
|
|
+ if reportInfo.ClassifyNameFirst == "周报" {
|
|
|
+ chapterMenu, err = GetMenuChapter(reportInfo.Id, newTypeIds)
|
|
|
+ }else{
|
|
|
+ chapterMenu, err = GetMenuChapter(reportInfo.Id, typeIds)
|
|
|
+ }
|
|
|
}else{
|
|
|
reportChapterItem.ContentSub = reportChapter.ContentSub
|
|
|
}
|
|
|
reportChapterDetail = new(response.ReportChapterDetail)
|
|
|
reportChapterDetail.ReportChapterItem = reportChapterItem
|
|
|
reportChapterDetail.PermissionCheck = &permissionCheckInfo
|
|
|
+ reportChapterDetail.ReportChapterMenuList = chapterMenu
|
|
|
reportChapterDetail.AuthOk = authOk
|
|
|
return
|
|
|
+}
|
|
|
+
|
|
|
+func GetMenuChapter(reportId int, typeIds []int) (reportTypeList []*response.ReportChapterMenu, err error) {
|
|
|
+ //查询有效的章节
|
|
|
+ typeList, tErr := report_chapter_type.GetEffectTypes()
|
|
|
+ if tErr != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(typeList) == 0 {
|
|
|
+ err = errors.New("无有效的章节")
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ typeMap := make(map[uint64]*report_chapter_type.ReportChapterType)
|
|
|
+ for _, v := range typeList {
|
|
|
+ typeMap[v.ReportChapterTypeId] = v
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取所有当前研报的章节
|
|
|
+ chapterList, tErr := report_chapter.GetListByReportIdTypeIds(reportId, typeIds)
|
|
|
+ if tErr != nil && tErr != utils.ErrNoRow{
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(chapterList) > 0 {
|
|
|
+ for _, item := range chapterList {
|
|
|
+ if typeItem, ok := typeMap[uint64(item.TypeId)]; ok {
|
|
|
+ temp := new(response.ReportChapterMenu)
|
|
|
+ temp.ReportChapterId = item.ReportChapterId
|
|
|
+ temp.ReportId = item.ReportId
|
|
|
+ temp.ReportChapterTypeName = typeItem.ReportChapterTypeName
|
|
|
+ temp.ReportChapterTypeThumb = typeItem.ReportChapterTypeThumb
|
|
|
+ reportTypeList = append(reportTypeList, temp)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return
|
|
|
}
|