浏览代码

fix:添加版头版尾

zqbao 8 月之前
父节点
当前提交
1dc0e29cb1
共有 2 个文件被更改,包括 87 次插入27 次删除
  1. 26 0
      controllers/report.go
  2. 61 27
      models/report.go

+ 26 - 0
controllers/report.go

@@ -228,6 +228,32 @@ func (this *ReportController) Detail() {
 		br.ErrMsg = "获取报告详情失败,Err:" + err.Error()
 		return
 	}
+	if report.HeadResourceId > 0 || report.EndResourceId > 0 {
+		headImg, err := models.GetSmartReportResourceById(report.HeadResourceId)
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			utils.FileLog.Warn("版头数据获取失败,Err:" + err.Error())
+		}
+		endImg, err := models.GetSmartReportResourceById(report.EndResourceId)
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			utils.FileLog.Warn("版尾数据获取失败,Err:" + err.Error())
+		}
+		if headImg != nil {
+			report.HeadResourceUrl = headImg.ImgUrl
+		}
+		if endImg != nil {
+			report.EndResourceUrl = endImg.ImgUrl
+		}
+	}
+
+	if report.HasChapter == 1 {
+		chapterList, err := models.GetReportChapterList(report.Id)
+		if err != nil {
+			br.Msg = "该报告已删除"
+			br.ErrMsg = "获取章节列表失败,Err:" + err.Error()
+			return
+		}
+		report.ChapterContent = chapterList
+	}
 	report.ContentSub = html.UnescapeString(report.ContentSub)
 	report.Content = html.UnescapeString(report.Content)
 	if report == nil {

+ 61 - 27
models/report.go

@@ -129,33 +129,53 @@ func GetReportListByClassifyIds(classifyIds []int, condition string, startSize,
 }
 
 type ReportDetail struct {
-	Id                 int    `description:"报告Id"`
-	AddType            int    `description:"新增方式:1:新增报告,2:继承报告"`
-	ClassifyIdFirst    int    `description:"一级分类id"`
-	ClassifyNameFirst  string `description:"一级分类名称"`
-	ClassifyIdSecond   int    `description:"二级分类id"`
-	ClassifyNameSecond string `description:"二级分类名称"`
-	Title              string `description:"标题"`
-	Abstract           string `description:"摘要"`
-	Author             string `description:"作者"`
-	Frequency          string `description:"频度"`
-	CreateTime         string `description:"创建时间"`
-	ModifyTime         string `description:"修改时间"`
-	State              int    `description:"1:未发布,2:已发布"`
-	PublishTime        string `description:"发布时间"`
-	Stage              int    `description:"期数"`
-	MsgIsSend          int    `description:"消息是否已发送,0:否,1:是"`
-	Content            string `description:"内容"`
-	VideoUrl           string `description:"音频文件URL"`
-	VideoName          string `description:"音频文件名称"`
-	VideoPlaySeconds   string `description:"音频播放时长"`
-	VideoSize          string `description:"音频文件大小,单位M"`
-	ContentSub         string `description:"内容前两个章节"`
-	IsShowNewLabel     int    `description:"是否显示新标签"`
-	IsCurrentDate      int    `description:"是否当前日期"`
-	ClassifyName       string `description:"分类名称"`
-	TitleType          string `description:"标题类型,FICC或者权益"`
-	IsPublic           bool   `description:"是否是公共报告 "`
+	Id                 int              `description:"报告Id"`
+	AddType            int              `description:"新增方式:1:新增报告,2:继承报告"`
+	ClassifyIdFirst    int              `description:"一级分类id"`
+	ClassifyNameFirst  string           `description:"一级分类名称"`
+	ClassifyIdSecond   int              `description:"二级分类id"`
+	ClassifyNameSecond string           `description:"二级分类名称"`
+	Title              string           `description:"标题"`
+	Abstract           string           `description:"摘要"`
+	Author             string           `description:"作者"`
+	Frequency          string           `description:"频度"`
+	CreateTime         string           `description:"创建时间"`
+	ModifyTime         string           `description:"修改时间"`
+	State              int              `description:"1:未发布,2:已发布"`
+	PublishTime        string           `description:"发布时间"`
+	Stage              int              `description:"期数"`
+	MsgIsSend          int              `description:"消息是否已发送,0:否,1:是"`
+	Content            string           `description:"内容"`
+	ChapterContent     []*ReportChapter `description:"章节内容"`
+	VideoUrl           string           `description:"音频文件URL"`
+	VideoName          string           `description:"音频文件名称"`
+	VideoPlaySeconds   string           `description:"音频播放时长"`
+	VideoSize          string           `description:"音频文件大小,单位M"`
+	ContentSub         string           `description:"内容前两个章节"`
+	IsShowNewLabel     int              `description:"是否显示新标签"`
+	IsCurrentDate      int              `description:"是否当前日期"`
+	ClassifyName       string           `description:"分类名称"`
+	TitleType          string           `description:"标题类型,FICC或者权益"`
+	IsPublic           bool             `description:"是否是公共报告 "`
+	HeadResourceId     int              `description:"版头资源库id"`
+	EndResourceId      int              `description:"版尾资源库id"`
+	HeadResourceUrl    string           `description:"版头资源库Url"`
+	EndResourceUrl     string           `description:"版尾资源库Url"`
+	CollaborateType    int              `description:"合作类型, 1:个人,2:多人协作"`
+	ReportLayout       int              `description:"报告布局, 1:常规布局,2:智能布局"`
+	HasChapter         int              `description:"是否有章节: 0-否 1-是"`
+}
+
+type ReportChapter struct {
+	Title   string `description:"章节标题"`
+	Content string `description:"章节内容"`
+}
+
+func GetReportChapterList(reportId int) (items []*ReportChapter, err error) {
+	o := orm.NewOrmUsingDB("rddp")
+	sql := `SELECT * FROM report_chapter WHERE report_id=?`
+	_, err = o.Raw(sql, reportId).QueryRows(&items)
+	return
 }
 
 func GetReportById(reportId int) (item *ReportDetail, err error) {
@@ -182,3 +202,17 @@ type ReportCollectListItem struct {
 	PdfUrl              string    `description:"pdf文件url"`
 	ReportType          int       `description:"报告类型:1:eta报告,2:小程序pdf报告"`
 }
+
+type SmartReportResource struct {
+	ResourceId int    `description:"资源库id"`
+	ImgUrl     string `description:"图片url"`
+	Type       int    `description:"资源类型:1-版头 2-版尾"`
+	Style      string `description:"版图样式"`
+}
+
+func GetSmartReportResourceById(resourceId int) (item *SmartReportResource, err error) {
+	o := orm.NewOrmUsingDB("rddp")
+	sql := `SELECT * FROM smart_report_resource WHERE resource_id=?`
+	err = o.Raw(sql, resourceId).QueryRow(&item)
+	return
+}