|
@@ -2,7 +2,9 @@ package controllers
|
|
|
|
|
|
import (
|
|
|
"eta/eta_report/models"
|
|
|
+ "eta/eta_report/utils"
|
|
|
"html"
|
|
|
+ "time"
|
|
|
)
|
|
|
|
|
|
// ReportShareController 报告分享
|
|
@@ -63,7 +65,71 @@ func (this *ReportShareController) Detail() {
|
|
|
resp.WatermarkReport = v
|
|
|
}
|
|
|
|
|
|
- resp.Report = report
|
|
|
+ // 晨周报
|
|
|
+ resp.Report = new(models.ReportItem)
|
|
|
+ reportChapters := make([]*models.ReportChapter, 0)
|
|
|
+ if utils.BusinessCode == utils.BusinessCodeRelease && report.HasChapter == 1 {
|
|
|
+ // 获取章节内容
|
|
|
+ chapters, e := models.GetPublishedChapterListByReportId(report.Id)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取章节列表失败, Err: " + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ 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)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ report.Abstract = report.Title
|
|
|
+ }
|
|
|
+ resp.Report.Report = report
|
|
|
+ resp.Report.ChapterList = reportChapters
|
|
|
+
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
br.Msg = "获取成功"
|