|
@@ -8,7 +8,9 @@ import (
|
|
|
"eta/eta_api/utils"
|
|
|
"fmt"
|
|
|
"html"
|
|
|
+ "os"
|
|
|
"os/exec"
|
|
|
+ "path"
|
|
|
"strconv"
|
|
|
"time"
|
|
|
)
|
|
@@ -237,3 +239,100 @@ finally:
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+func Report2pdfAndJpeg(reportUrl string, reportId int) {
|
|
|
+ var err error
|
|
|
+
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("Report2pdfAndJpeg failed: , error: \n" + err.Error())
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ reportCode := utils.MD5(strconv.Itoa(reportId))
|
|
|
+
|
|
|
+ filePath := `./static/` + reportCode
|
|
|
+
|
|
|
+ go func() {
|
|
|
+ err := ReportToPdf(reportUrl, filePath+".pdf")
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("ReportToPdf failed: , error: \n" + err.Error())
|
|
|
+ }
|
|
|
+
|
|
|
+ file, err := os.Open(filePath)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("Error:", err)
|
|
|
+ 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, filePath, "")
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("文件上传失败, Err: \n" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ _ = os.Remove(filePath)
|
|
|
+ }()
|
|
|
+
|
|
|
+
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ go func() {
|
|
|
+ err := ReportToJpeg(reportUrl, filePath+".jpeg")
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("ReportToJpeg failed: , error: \n" + err.Error())
|
|
|
+ }
|
|
|
+ file, err := os.Open(filePath)
|
|
|
+ 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, filePath, "")
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("文件上传失败, Err: \n" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ _ = os.Remove(filePath)
|
|
|
+ }()
|
|
|
+
|
|
|
+
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ }()
|
|
|
+}
|