zwxi 10 meses atrás
pai
commit
8b1f4566a4

+ 1 - 1
controllers/english_report/report.go

@@ -524,7 +524,7 @@ func (this *EnglishReportController) ListReport() {
 		fieldArr := []string{
 			"id", "add_type", "classify_id_first", "classify_name_first", "classify_id_second", "classify_name_second", "title", "abstract", "author",
 			"frequency", "create_time", "modify_time", "state", "publish_time", "pre_publish_time", "stage", "msg_is_send", "report_code", "pv", "share_url",
-			"pv_email", "email_state", "from_report_id", "key_takeaways", "admin_id", "admin_real_name", "approve_time",
+			"pv_email", "email_state", "from_report_id", "key_takeaways", "admin_id", "admin_real_name", "approve_time","detail_img_url","detail_pdf_url",
 		}
 		items, e := models.GetEnglishReportList(condition, pars, companyType, startSize, pageSize, fieldArr)
 		if e != nil {

+ 3 - 0
controllers/report.go

@@ -368,6 +368,9 @@ func (this *ReportController) PublishReport() {
 			}()
 
 		}
+
+		// 生成报告pdf和长图
+		go services.Report2pdfAndJpeg(req.ReportUrl, report.Id, 1)
 	}
 	// 发布晨周报部分章节未发布的提示
 	if tips != "" {

+ 1 - 1
controllers/smart_report/smart_report.go

@@ -545,7 +545,7 @@ func (this *SmartReportController) Publish() {
 		}()
 
 		// 生成报告pdf和长图
-		go services.Report2pdfAndJpeg(req.ReportUrl, req.SmartReportId)
+		go services.Report2pdfAndJpeg(req.ReportUrl, req.SmartReportId, 3)
 	}
 	if state == smart_report.SmartReportStateWaitPublish {
 		// ES更新报告

+ 16 - 0
models/english_report.go

@@ -267,6 +267,8 @@ type EnglishReportList struct {
 	ClassifyIdRoot     int       `description:"顶级分类id"`
 	ClassifyNameRoot   string    `description:"顶级分类名称"`
 	ApproveTime        string    `description:"审批时间"`
+	DetailImgUrl       string    `description:"报告详情长图地址"`
+	DetailPdfUrl       string    `description:"报告详情PDF地址"`
 }
 
 type EnglishReportListResp struct {
@@ -913,3 +915,17 @@ func (classifyInfo *EnglishClassify) SetEnabled(id, enabled int) (err error) {
 	}
 	return
 }
+
+func ModifyEnglishReportPdfUrl(reportId int, detailPdfUrl string) (err error) {
+	o := orm.NewOrmUsingDB("rddp")
+	sql := `UPDATE english_report SET detail_pdf_url=? WHERE id=? `
+	_, err = o.Raw(sql, detailPdfUrl, reportId).Exec()
+	return
+}
+
+func ModifyEnglishReportImgUrl(reportId int, detailImgUrl string) (err error) {
+	o := orm.NewOrmUsingDB("rddp")
+	sql := `UPDATE english_report SET detail_img_url=? WHERE id=? `
+	_, err = o.Raw(sql, detailImgUrl, reportId).Exec()
+	return
+}

+ 17 - 0
models/report.go

@@ -104,6 +104,8 @@ type ReportList struct {
 	AdminId            int                       `description:"创建者账号"`
 	AdminRealName      string                    `description:"创建者姓名"`
 	ApproveTime        string                    `description:"审批时间"`
+	DetailImgUrl       string                    `description:"报告详情长图地址"`
+	DetailPdfUrl       string                    `description:"报告详情PDF地址"`
 }
 
 type ReportListResp struct {
@@ -266,6 +268,7 @@ func GetReportStageEdit(classifyIdFirst, classifyIdSecond, reportId int) (count
 
 type PublishReq struct {
 	ReportIds string `description:"报告id,多个用英文逗号隔开"`
+	ReportUrl string `description:"报告Url"`
 }
 
 type PublishCancelReq struct {
@@ -1148,3 +1151,17 @@ type GetReportPdfUrlReq struct {
 	ReportCode string `description:"报告Code"`
 	Type       int    `description:"类型 1-pdf 2-图片"`
 }
+
+func ModifyReportPdfUrl(reportId int, detailPdfUrl string) (err error) {
+	o := orm.NewOrmUsingDB("rddp")
+	sql := `UPDATE report SET detail_pdf_url=? WHERE id=? `
+	_, err = o.Raw(sql, detailPdfUrl, reportId).Exec()
+	return
+}
+
+func ModifyReportImgUrl(reportId int, detailImgUrl string) (err error) {
+	o := orm.NewOrmUsingDB("rddp")
+	sql := `UPDATE report SET detail_img_url=? WHERE id=? `
+	_, err = o.Raw(sql, detailImgUrl, reportId).Exec()
+	return
+}

+ 8 - 1
services/report_approve.go

@@ -808,12 +808,19 @@ func AfterReportApprovePass(reportType, reportId int, reportUrl string) (err err
 		}
 		_ = CreateVideo(report)
 		_ = UpdateReportEs(report.Id, models.ReportStatePublished)
+
+		// 生成报告pdf和长图
+		go Report2pdfAndJpeg(reportUrl, reportId, 1)
+
 		return
 	}
 
 	// 英文研报
 	if reportType == report_approve.FlowReportTypeEnglish {
 		_ = UpdateEnglishReportEs(reportId, models.ReportStatePublished)
+
+		// 生成报告pdf和长图
+		go Report2pdfAndJpeg(reportUrl, reportId, 2)
 		return
 	}
 
@@ -844,7 +851,7 @@ func AfterReportApprovePass(reportType, reportId int, reportUrl string) (err err
 		_ = SmartReportElasticUpsert(item.SmartReportId, models.ReportStatePublished)
 
 		// 生成报告pdf和长图
-		go Report2pdfAndJpeg(reportUrl, item.SmartReportId)
+		go Report2pdfAndJpeg(reportUrl, item.SmartReportId, 3)
 	}
 	return
 }

+ 45 - 15
services/smart_report.go

@@ -264,7 +264,7 @@ finally:
 	return
 }
 
-func Report2pdfAndJpeg(reportUrl string, reportId int) {
+func Report2pdfAndJpeg(reportUrl string, reportId,reportType int) {
 	var err error
 
 	defer func() {
@@ -314,14 +314,29 @@ func Report2pdfAndJpeg(reportUrl string, reportId int) {
 			_ = os.Remove(pdfPath)
 		}()
 
-		// 更新pdf url
-		ob := new(smart_report.SmartReport)
-		ob.SmartReportId = reportId
-		ob.DetailPdfUrl = resourceUrl
-		if err = ob.Update([]string{"DetailPdfUrl"}); err != nil {
-			utils.FileLog.Info("更新研报失败, Err: \n" + err.Error())
-			return
+		if reportType == 3 {
+			// 更新pdf url
+			ob := new(smart_report.SmartReport)
+			ob.SmartReportId = reportId
+			ob.DetailPdfUrl = resourceUrl
+			if err = ob.Update([]string{"DetailPdfUrl"}); err != nil {
+				utils.FileLog.Info("更新研报失败, Err: \n" + err.Error())
+				return
+			}
+		} else if reportType == 2 {
+			err = models.ModifyEnglishReportPdfUrl(reportId, resourceUrl)
+			if err != nil {
+				utils.FileLog.Info("更新研报失败, Err: \n" + err.Error())
+				return
+			}
+		} else if reportType == 1 {
+			err = models.ModifyReportPdfUrl(reportId, resourceUrl)
+			if err != nil {
+				utils.FileLog.Info("更新研报失败, Err: \n" + err.Error())
+				return
+			}
 		}
+
 	}()
 
 	go func() {
@@ -356,13 +371,28 @@ func Report2pdfAndJpeg(reportUrl string, reportId int) {
 			_ = os.Remove(jpegPath)
 		}()
 
-		// 更新jpeg url
-		ob := new(smart_report.SmartReport)
-		ob.SmartReportId = reportId
-		ob.DetailImgUrl = resourceUrl
-		if err = ob.Update([]string{"DetailImgUrl"}); err != nil {
-			utils.FileLog.Info("更新研报失败, Err: \n" + err.Error())
-			return
+		if reportType == 3 {
+			// 更新jpeg url
+			ob := new(smart_report.SmartReport)
+			ob.SmartReportId = reportId
+			ob.DetailImgUrl = resourceUrl
+			if err = ob.Update([]string{"DetailImgUrl"}); err != nil {
+				utils.FileLog.Info("更新研报失败, Err: \n" + err.Error())
+				return
+			}
+		} else if reportType == 2 {
+			err = models.ModifyEnglishReportImgUrl(reportId, resourceUrl)
+			if err != nil {
+				utils.FileLog.Info("更新研报失败, Err: \n" + err.Error())
+				return
+			}
+		} else if reportType == 1 {
+			err = models.ModifyReportImgUrl(reportId, resourceUrl)
+			if err != nil {
+				utils.FileLog.Info("更新研报失败, Err: \n" + err.Error())
+				return
+			}
 		}
+
 	}()
 }