瀏覽代碼

Merge remote-tracking branch 'origin/eta/1.8.3'

Roc 8 月之前
父節點
當前提交
b7a8bd17b4
共有 2 個文件被更改,包括 73 次插入49 次删除
  1. 37 49
      controllers/report_share.go
  2. 36 0
      models/report.go

+ 37 - 49
controllers/report_share.go

@@ -2,9 +2,7 @@ package controllers
 
 import (
 	"eta/eta_report/models"
-	"eta/eta_report/utils"
 	"html"
-	"time"
 )
 
 // ReportShareController 报告分享
@@ -39,6 +37,29 @@ func (this *ReportShareController) Detail() {
 	}
 	report.ContentSub = html.UnescapeString(report.ContentSub)
 	report.Content = html.UnescapeString(report.Content)
+	report.ContentStruct = html.UnescapeString(report.ContentStruct)
+
+	if report.HeadResourceId > 0 {
+		headResource, err := models.GetResourceItemById(report.HeadResourceId)
+		if err != nil {
+			br.Msg = "操作失败"
+			br.ErrMsg = "获取资源库版头失败, Err: " + err.Error()
+			return
+		}
+		report.HeadImg = headResource.ImgUrl
+		report.HeadStyle = headResource.Style
+	}
+
+	if report.EndResourceId > 0 {
+		endResource, err := models.GetResourceItemById(report.EndResourceId)
+		if err != nil {
+			br.Msg = "操作失败"
+			br.ErrMsg = "获取资源库版头失败, Err: " + err.Error()
+			return
+		}
+		report.EndImg = endResource.ImgUrl
+		report.EndStyle = endResource.Style
+	}
 
 	resp := new(models.ReportShareDetailResp)
 	// 免责声明
@@ -65,10 +86,10 @@ func (this *ReportShareController) Detail() {
 		resp.WatermarkReport = v
 	}
 
-	// 晨周报
+	// 章节类型的报告
 	resp.Report = new(models.ReportItem)
 	reportChapters := make([]*models.ReportChapter, 0)
-	if utils.BusinessCode == utils.BusinessCodeRelease && report.HasChapter == 1 {
+	if report.HasChapter == 1 {
 		// 获取章节内容
 		chapters, e := models.GetPublishedChapterListByReportId(report.Id)
 		if e != nil {
@@ -78,55 +99,22 @@ func (this *ReportShareController) Detail() {
 		}
 
 		if len(chapters) > 0 {
-			// 获取更新规则
-			researchType := chapters[0].ReportType
-			types, e := models.GetAllReportChapterTypeListByResearchType(researchType)
-			if e != nil {
-				br.Msg = "获取更新规则失败"
-				br.ErrMsg = "获取更新规则失败, Err: " + e.Error()
-				return
-			}
-
-			// 调整章节更新
-			nowTime := time.Now().Local()
 			for _, chapter := range chapters {
-				stop := false
-				for _, rule := range types {
-					if rule.ReportChapterTypeId != chapter.TypeId {
-						continue
-					}
-					// 如果被永久暂停更新了
-					if rule.Enabled == 0 && chapter.IsEdit == 0 { //该章节已被永久禁用,同时未被操作过
-						stop = true
-					} else if rule.PauseStartTime != "" && rule.PauseEndTime != "" && rule.PauseStartTime != utils.EmptyDateStr && rule.PauseEndTime != utils.EmptyDateStr {
-						startTime, e := time.ParseInLocation(utils.FormatDate, rule.PauseStartTime, time.Local)
-						if e != nil {
-							br.Msg = "获取更新规则失败"
-							br.ErrMsg = "更新规则开始时间转换失败, Err: " + e.Error()
-							return
-						}
-						endTime, e := time.ParseInLocation(utils.FormatDate, rule.PauseEndTime, time.Local)
-						if e != nil {
-							br.Msg = "获取更新规则失败"
-							br.ErrMsg = "更新规则结束时间转换失败, Err: " + e.Error()
-							return
-						}
-						// 暂停更新
-						if nowTime.After(startTime) && nowTime.Before(endTime.AddDate(0, 0, 1)) {
-							stop = true
-						}
-						break
-					}
-				}
-				if !stop {
-					chapter.Content = html.UnescapeString(chapter.Content)
-					chapter.ContentSub = html.UnescapeString(chapter.ContentSub)
-					reportChapters = append(reportChapters, chapter)
-				}
+				chapter.Content = html.UnescapeString(chapter.Content)
+				chapter.ContentSub = html.UnescapeString(chapter.ContentSub)
+				reportChapters = append(reportChapters, chapter)
 			}
 		}
-		report.Abstract = report.Title
+		//report.Abstract = report.Title
 	}
+
+	// 更新pv
+	if e = models.UpdateReportPv(report.Id); e != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "更新报告pv失败, Err: " + e.Error()
+		return
+	}
+
 	resp.Report.Report = report
 	resp.Report.ChapterList = reportChapters
 

+ 36 - 0
models/report.go

@@ -2,6 +2,7 @@ package models
 
 import (
 	"github.com/beego/beego/v2/client/orm"
+	"time"
 )
 
 type Report struct {
@@ -31,6 +32,28 @@ type Report struct {
 	IsCurrentDate      int    `description:"是否当前日期"`
 	ClassifyName       string `description:"分类名称"`
 	HasChapter         int    `description:"是否有章节"`
+
+	// eta1.8.3(研报改版)相关内容
+	ContentStruct       string    `description:"内容组件"`
+	LastModifyAdminId   int       `description:"最后更新人ID"`
+	LastModifyAdminName string    `description:"最后更新人姓名"`
+	ContentModifyTime   time.Time `description:"内容更新时间"`
+	Pv                  int       `description:"pv"`
+	Uv                  int       `description:"uv"`
+	HeadImg             string    `description:"报告头图地址"`
+	EndImg              string    `description:"报告尾图地址"`
+	HeadStyle           string    `description:"版头样式"`
+	EndStyle            string    `description:"版尾样式"`
+	CanvasColor         string    `description:"画布颜色"`
+	NeedSplice          int       `description:"是否拼接版头版位的标记,主要是为了兼容历史报告。0-不需要 1-需要"`
+	HeadResourceId      int       `description:"版头资源ID"`
+	EndResourceId       int       `description:"版尾资源ID"`
+	ClassifyIdThird     int       `description:"三级分类id"`
+	ClassifyNameThird   string    `description:"三级分类名称"`
+	CollaborateType     int8      `description:"协作方式,1:个人,2:多人协作。默认:1"`
+	ReportLayout        int8      `description:"报告布局,1:常规布局,2:智能布局。默认:1"`
+	IsPublicPublish     int8      `description:"是否公开发布,1:是,2:否"`
+	ReportCreateTime    time.Time `description:"报告时间创建时间"`
 }
 
 func GetReportByCode(reportCode string) (item *Report, err error) {
@@ -54,3 +77,16 @@ type ReportItem struct {
 	*Report
 	ChapterList []*ReportChapter
 }
+
+// UpdateReportPv
+// @Description: 研报pv自增
+// @author: Roc
+// @datetime 2024-07-19 15:46:58
+// @param reportId int
+// @return err error
+func UpdateReportPv(reportId int) (err error) {
+	o := orm.NewOrm()
+	sql := `UPDATE report SET pv = pv + 1 WHERE id = ?`
+	_, err = o.Raw(sql, reportId).Exec()
+	return
+}