Quellcode durchsuchen

Merge branch 'bzq1/ppt_custom_page' of eta_server/eta_api into master

鲍自强 vor 8 Monaten
Ursprung
Commit
005236553a
3 geänderte Dateien mit 79 neuen und 1 gelöschten Zeilen
  1. 1 0
      models/ppt_english/ppt_english.go
  2. 49 1
      services/ppt/ppt_english_group.go
  3. 29 0
      services/ppt/ppt_group.go

+ 1 - 0
models/ppt_english/ppt_english.go

@@ -49,6 +49,7 @@ type PptEnglishItem struct {
 	IsShare       int8      `description:"是否分享,0:不分享,1:分享"`
 	PublishTime   time.Time `description:"发布时间"`
 	CoverContent  string    `description:"PPT内容-JSON"`
+	PptPage       int       `description:"PPT页数"`
 	TitleSetting  string    `description:"PPT标题设置"`
 }
 

+ 49 - 1
services/ppt/ppt_english_group.go

@@ -5,6 +5,7 @@ import (
 	"errors"
 	"eta/eta_api/models/ppt_english"
 	"eta/eta_api/models/system"
+	"eta/eta_api/services"
 	"eta/eta_api/utils"
 	"fmt"
 	"sort"
@@ -372,7 +373,7 @@ func GetGroupPptEnglishList(groupId int64, adminId int) (ret ppt_english.RespGro
 			return
 		}
 		groups = append(groups, groupInfo)
-		groupPptList, tErr = ppt_english.GetPptMappingListByGroupId(groupId)
+		groupPptList, tErr = ppt_english.GetPptMappingListByGroupIdDesc(groupId)
 		if tErr != nil {
 			err = errors.New("目录里的ppt查询出错:" + tErr.Error())
 			return
@@ -404,6 +405,16 @@ func GetGroupPptEnglishList(groupId int64, adminId int) (ret ppt_english.RespGro
 	}
 
 	for _, v := range pptList {
+		// 解决部分历史ppt数据不存在TotalPages的情况
+		if v.PptPage == 0 {
+			var pptContent []services.PPTContent
+			err = json.Unmarshal([]byte(v.Content), &pptContent)
+			if err != nil {
+				err = errors.New("解析ppt内容出错" + err.Error())
+				return
+			}
+			v.PptPage = len(pptContent)
+		}
 		pptMap[v.PptId] = v
 	}
 
@@ -431,6 +442,7 @@ func GetGroupPptEnglishList(groupId int64, adminId int) (ret ppt_english.RespGro
 							ReportId:      pptInfo.ReportId,
 							ReportCode:    pptInfo.ReportCode,
 							PublishTime:   utils.DealDateTimeZero(pptInfo.PublishTime, utils.FormatDateTime),
+							PptPage:       pptInfo.PptPage,
 						}
 						if pptV.ChildGroupPptId > 0 {
 							tmp.IsSingleShare = 1
@@ -1216,7 +1228,15 @@ func GetMyPptEnglishList(adminId int, keyword string) (ret ppt_english.RespGroup
 		return
 	}
 
+	var pptContent []services.PPTContent
 	for _, v := range pptList {
+		if v.PptPage == 0 {
+			err = json.Unmarshal([]byte(v.Content), &pptContent)
+			if err != nil {
+				return
+			}
+			v.PptPage = len(pptContent)
+		}
 		tmpV := &ppt_english.RespGroupPptListItem{
 			GroupPptId:    int64(v.PptId),
 			PptId:         int64(v.PptId),
@@ -1232,6 +1252,7 @@ func GetMyPptEnglishList(adminId int, keyword string) (ret ppt_english.RespGroup
 			ReportId:      v.ReportId,
 			ReportCode:    v.ReportCode,
 			PublishTime:   utils.DealDateTimeZero(v.PublishTime, utils.FormatDateTime),
+			PptPage:       v.PptPage,
 		}
 		list = append(list, tmpV)
 	}
@@ -1273,7 +1294,15 @@ func GetSharePptEnglishList(adminId int, keyword string, isPrivate bool) (ret pp
 		return
 	}
 
+	var pptContent []services.PPTContent
 	for _, v := range pptList {
+		if v.PptPage == 0 {
+			err = json.Unmarshal([]byte(v.Content), &pptContent)
+			if err != nil {
+				return
+			}
+			v.PptPage = len(pptContent)
+		}
 		tmpV := &ppt_english.RespGroupPptListItem{
 			GroupPptId:    int64(v.PptId),
 			PptId:         int64(v.PptId),
@@ -1289,6 +1318,7 @@ func GetSharePptEnglishList(adminId int, keyword string, isPrivate bool) (ret pp
 			ReportId:      v.ReportId,
 			ReportCode:    v.ReportCode,
 			PublishTime:   utils.DealDateTimeZero(v.PublishTime, utils.FormatDateTime),
+			PptPage:       v.PptPage,
 		}
 		list = append(list, tmpV)
 	}
@@ -1333,7 +1363,15 @@ func GetGrantPptEnglishList(adminId int, keyword, sourceType string) (ret ppt_en
 		return
 	}
 
+	var pptContent []services.PPTContent
 	for _, v := range pptList {
+		if v.PptPage == 0 {
+			err = json.Unmarshal([]byte(v.Content), &pptContent)
+			if err != nil {
+				return
+			}
+			v.PptPage = len(pptContent)
+		}
 		tmpV := &ppt_english.RespGroupPptListItem{
 			GroupPptId:    int64(v.PptId),
 			PptId:         int64(v.PptId),
@@ -1350,6 +1388,7 @@ func GetGrantPptEnglishList(adminId int, keyword, sourceType string) (ret ppt_en
 			ReportId:      v.ReportId,
 			ReportCode:    v.ReportCode,
 			PublishTime:   utils.DealDateTimeZero(v.PublishTime, utils.FormatDateTime),
+			PptPage:       v.PptPage,
 		}
 		list = append(list, tmpV)
 	}
@@ -1408,7 +1447,15 @@ func SearchEnglishPptList(adminId int, keyword string) (ret ppt_english.RespGrou
 		return
 	}
 
+	var pptContent []services.PPTContent
 	for _, v := range pptList {
+		if v.PptPage == 0 {
+			err = json.Unmarshal([]byte(v.Content), &pptContent)
+			if err != nil {
+				return
+			}
+			v.PptPage = len(pptContent)
+		}
 		tmpV := &ppt_english.RespGroupPptListItem{
 			GroupPptId:    int64(v.PptId),
 			PptId:         int64(v.PptId),
@@ -1422,6 +1469,7 @@ func SearchEnglishPptList(adminId int, keyword string) (ret ppt_english.RespGrou
 			PptxUrl:       v.PptxUrl,
 			ReportId:      v.ReportId,
 			ReportCode:    v.ReportCode,
+			PptPage:       v.PptPage,
 		}
 		list = append(list, tmpV)
 	}

+ 29 - 0
services/ppt/ppt_group.go

@@ -630,6 +630,7 @@ func GetGroupPptList(groupId int64, adminId int) (ret models.RespGroupPptList, e
 							ReportId:      pptInfo.ReportId,
 							ReportCode:    pptInfo.ReportCode,
 							PublishTime:   utils.DealDateTimeZero(pptInfo.PublishTime, utils.FormatDateTime),
+							PptPage:       pptInfo.PptPage,
 						}
 						if pptV.ChildGroupPptId > 0 {
 							tmp.IsSingleShare = 1
@@ -1612,6 +1613,7 @@ func GetMyPptList(adminId int, keyword string) (ret models.RespGroupPptList, err
 			ReportId:      v.ReportId,
 			ReportCode:    v.ReportCode,
 			PublishTime:   utils.DealDateTimeZero(v.PublishTime, utils.FormatDateTime),
+			PptPage:       v.PptPage,
 		}
 		list = append(list, tmpV)
 	}
@@ -1653,7 +1655,15 @@ func GetSharePptList(adminId int, keyword string, isPrivate bool) (ret models.Re
 		return
 	}
 
+	var pptContent []services.PPTContent
 	for _, v := range pptList {
+		if v.PptPage == 0 {
+			err = json.Unmarshal([]byte(v.Content), &pptContent)
+			if err != nil {
+				return
+			}
+			v.PptPage = len(pptContent)
+		}
 		tmpV := &models.RespGroupPptListItem{
 			GroupPptId:    int64(v.PptId),
 			PptId:         int64(v.PptId),
@@ -1670,6 +1680,7 @@ func GetSharePptList(adminId int, keyword string, isPrivate bool) (ret models.Re
 			ReportId:      v.ReportId,
 			ReportCode:    v.ReportCode,
 			PublishTime:   utils.DealDateTimeZero(v.PublishTime, utils.FormatDateTime),
+			PptPage:       v.PptPage,
 		}
 		list = append(list, tmpV)
 	}
@@ -1714,7 +1725,15 @@ func GetGrantPptList(adminId int, keyword, sourceType string) (ret models.RespGr
 		return
 	}
 
+	var pptContent []services.PPTContent
 	for _, v := range pptList {
+		if v.PptPage == 0 {
+			err = json.Unmarshal([]byte(v.Content), &pptContent)
+			if err != nil {
+				return
+			}
+			v.PptPage = len(pptContent)
+		}
 		tmpV := &models.RespGroupPptListItem{
 			GroupPptId:    int64(v.PptId),
 			PptId:         int64(v.PptId),
@@ -1731,6 +1750,7 @@ func GetGrantPptList(adminId int, keyword, sourceType string) (ret models.RespGr
 			ReportId:      v.ReportId,
 			ReportCode:    v.ReportCode,
 			PublishTime:   utils.DealDateTimeZero(v.PublishTime, utils.FormatDateTime),
+			PptPage:       v.PptPage,
 		}
 		list = append(list, tmpV)
 	}
@@ -1763,7 +1783,15 @@ func SearchPptList(adminId int, keyword string) (ret models.RespGroupPptList, er
 		return
 	}
 
+	var pptContent []services.PPTContent
 	for _, v := range pptList {
+		if v.PptPage == 0 {
+			err = json.Unmarshal([]byte(v.Content), &pptContent)
+			if err != nil {
+				return
+			}
+			v.PptPage = len(pptContent)
+		}
 		tmpV := &models.RespGroupPptListItem{
 			GroupPptId:    int64(v.PptId),
 			PptId:         int64(v.PptId),
@@ -1778,6 +1806,7 @@ func SearchPptList(adminId int, keyword string) (ret models.RespGroupPptList, er
 			PptxUrl:       v.PptxUrl,
 			ReportId:      v.ReportId,
 			ReportCode:    v.ReportCode,
+			PptPage:       v.PptPage,
 		}
 		list = append(list, tmpV)
 	}