Browse Source

优化html转pdf

hongze 7 months ago
parent
commit
e14da75777
1 changed files with 96 additions and 100 deletions
  1. 96 100
      services/smart_report.go

+ 96 - 100
services/smart_report.go

@@ -329,125 +329,121 @@ func Report2pdfAndJpeg(reportUrl string, reportId, reportType int) {
 	pdfPath := `./static/` + reportCode + ".pdf"
 	jpegPath := `./static/` + reportCode + ".jpeg"
 
-	go func() {
-		err := ReportToPdf(reportUrl, pdfPath)
-		if err != nil {
-			utils.FileLog.Info("ReportToPdf failed: , error: \n" + err.Error())
-			go alarm_msg.SendAlarmMsg("ReportToPdf failed:"+err.Error(), 3)
-		}
-
-		file, err := os.Open(pdfPath)
-		if err != nil {
-			utils.FileLog.Info("Open failed: , error: \n" + err.Error())
-			go alarm_msg.SendAlarmMsg("Open failed:"+err.Error(), 3)
-			return
-		}
+	err = ReportToPdf(reportUrl, pdfPath)
+	if err != nil {
+		utils.FileLog.Info("ReportToPdf failed: , error: \n" + err.Error())
+		go alarm_msg.SendAlarmMsg("ReportToPdf failed:"+err.Error(), 3)
+	}
 
-		ext := path.Ext(file.Name())
+	file, err := os.Open(pdfPath)
+	if err != nil {
+		utils.FileLog.Info("Open failed: , error: \n" + err.Error())
+		go alarm_msg.SendAlarmMsg("Open failed:"+err.Error(), 3)
+		return
+	}
 
-		randStr := utils.GetRandStringNoSpecialChar(28)
-		fileName := randStr + ext
-		defer file.Close() //关闭上传文件
+	ext := path.Ext(file.Name())
 
-		resourceUrl := ``
-		ossClient := NewOssClient()
-		if ossClient == nil {
-			utils.FileLog.Info("初始化OSS服务失败")
-			return
-		}
-		resourceUrl, err = ossClient.UploadFile(fileName, pdfPath, "")
-		if err != nil {
-			utils.FileLog.Info("文件上传失败, Err: \n" + err.Error())
-			go alarm_msg.SendAlarmMsg("文件上传失败:"+err.Error(), 3)
-			return
-		}
-		defer func() {
-			_ = os.Remove(pdfPath)
-		}()
-
-		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
-			}
-		}
+	randStr := utils.GetRandStringNoSpecialChar(28)
+	fileName := randStr + ext
+	defer file.Close() //关闭上传文件
 
+	resourceUrl := ``
+	ossClient := NewOssClient()
+	if ossClient == nil {
+		utils.FileLog.Info("初始化OSS服务失败")
+		return
+	}
+	resourceUrl, err = ossClient.UploadFile(fileName, pdfPath, "")
+	if err != nil {
+		utils.FileLog.Info("文件上传失败, Err: \n" + err.Error())
+		go alarm_msg.SendAlarmMsg("文件上传失败:"+err.Error(), 3)
+		return
+	}
+	defer func() {
+		_ = os.Remove(pdfPath)
 	}()
 
-	go func() {
-		width := 1200
-		if reportType == 3 {
-			width = 800
+	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
 		}
-		err := ReportToJpeg(width, reportUrl, jpegPath)
+	} else if reportType == 2 {
+		err = models.ModifyEnglishReportPdfUrl(reportId, resourceUrl)
 		if err != nil {
-			utils.FileLog.Info("ReportToJpeg failed: , error: \n" + err.Error())
+			utils.FileLog.Info("更新研报失败, Err: \n" + err.Error())
+			return
 		}
-		file, err := os.Open(jpegPath)
+	} else if reportType == 1 {
+		err = models.ModifyReportPdfUrl(reportId, resourceUrl)
 		if err != nil {
-			utils.FileLog.Info("open file failed: , error: \n" + err.Error())
+			utils.FileLog.Info("更新研报失败, Err: \n" + err.Error())
 			return
 		}
+	}
 
-		ext := path.Ext(file.Name())
+	time.Sleep(1 * time.Minute)
 
-		randStr := utils.GetRandStringNoSpecialChar(28)
-		fileName := randStr + ext
-		defer file.Close() //关闭上传文件
+	width := 1200
+	if reportType == 3 {
+		width = 800
+	}
+	err = ReportToJpeg(width, reportUrl, jpegPath)
+	if err != nil {
+		utils.FileLog.Info("ReportToJpeg failed: , error: \n" + err.Error())
+	}
+	file, err = os.Open(jpegPath)
+	if err != nil {
+		utils.FileLog.Info("open file failed: , error: \n" + err.Error())
+		return
+	}
+
+	ext = path.Ext(file.Name())
+
+	randStr = utils.GetRandStringNoSpecialChar(28)
+	fileName = randStr + ext
+	defer file.Close() //关闭上传文件
+
+	resourceUrl = ``
+	ossClient = NewOssClient()
+	if ossClient == nil {
+		utils.FileLog.Info("初始化OSS服务失败")
+		return
+	}
+	resourceUrl, err = ossClient.UploadFile(fileName, jpegPath, "")
+	if err != nil {
+		utils.FileLog.Info("文件上传失败, Err: \n" + err.Error())
+		return
+	}
+	defer func() {
+		_ = os.Remove(jpegPath)
+	}()
 
-		resourceUrl := ``
-		ossClient := NewOssClient()
-		if ossClient == nil {
-			utils.FileLog.Info("初始化OSS服务失败")
+	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
 		}
-		resourceUrl, err = ossClient.UploadFile(fileName, jpegPath, "")
+	} else if reportType == 2 {
+		err = models.ModifyEnglishReportImgUrl(reportId, resourceUrl)
 		if err != nil {
-			utils.FileLog.Info("文件上传失败, Err: \n" + err.Error())
+			utils.FileLog.Info("更新研报失败, Err: \n" + err.Error())
 			return
 		}
-		defer func() {
-			_ = os.Remove(jpegPath)
-		}()
-
-		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
-			}
+	} else if reportType == 1 {
+		err = models.ModifyReportImgUrl(reportId, resourceUrl)
+		if err != nil {
+			utils.FileLog.Info("更新研报失败, Err: \n" + err.Error())
+			return
 		}
-
-	}()
+	}
 }