|
@@ -17,6 +17,7 @@ import (
|
|
|
"io/ioutil"
|
|
|
"os"
|
|
|
"path"
|
|
|
+ "strconv"
|
|
|
"strings"
|
|
|
"time"
|
|
|
)
|
|
@@ -501,10 +502,10 @@ func (this *SmartReportController) Publish() {
|
|
|
item.PrePublishTime = time.Time{}
|
|
|
|
|
|
// 写入队列
|
|
|
- var queue smart_report.Report2ImgQueueReq
|
|
|
- queue.ReportType = 2
|
|
|
- queue.ReportCode = item.ReportCode
|
|
|
- _ = utils.Rc.LPush(utils.CACHE_CREATE_REPORT_IMGPDF_QUEUE, queue)
|
|
|
+ //var queue smart_report.Report2ImgQueueReq
|
|
|
+ //queue.ReportType = 2
|
|
|
+ //queue.ReportCode = item.ReportCode
|
|
|
+ //_ = utils.Rc.LPush(utils.CACHE_CREATE_REPORT_IMGPDF_QUEUE, queue)
|
|
|
}
|
|
|
|
|
|
// 取消发布时同时清除掉Img和PDF的文件地址, 发布时间以及预发布时间
|
|
@@ -543,6 +544,9 @@ func (this *SmartReportController) Publish() {
|
|
|
go func() {
|
|
|
_ = services.SmartReportElasticUpsert(item.SmartReportId, models.ReportStatePublished)
|
|
|
}()
|
|
|
+
|
|
|
+ // 生成报告pdf和长图
|
|
|
+ go services.Report2pdfAndJpeg(req.ReportUrl, req.SmartReportId)
|
|
|
}
|
|
|
if state == smart_report.SmartReportStateWaitPublish {
|
|
|
// ES更新报告
|
|
@@ -1534,107 +1538,3 @@ func (this *SmartReportController) CancelApprove() {
|
|
|
br.Msg = "操作成功"
|
|
|
}
|
|
|
|
|
|
-// GetReportPdfUrl
|
|
|
-// @Title 研报生成pdf和图片
|
|
|
-// @Description 研报生成pdf和图片接口
|
|
|
-// @Success 200 {object} smart_report.SmartReportListResp
|
|
|
-// @router /get_pdf_url [post]
|
|
|
-func (this *SmartReportController) GetReportPdfUrl() {
|
|
|
- br := new(models.BaseResponse).Init()
|
|
|
- defer func() {
|
|
|
- if br.ErrMsg == "" {
|
|
|
- br.IsSendEmail = false
|
|
|
- }
|
|
|
- this.Data["json"] = br
|
|
|
- this.ServeJSON()
|
|
|
- }()
|
|
|
-
|
|
|
- sysUser := this.SysUser
|
|
|
- if sysUser == nil {
|
|
|
- br.Msg = "请登录"
|
|
|
- br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- var req models.GetReportPdfUrlReq
|
|
|
- if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
|
|
|
- br.Msg = "参数有误"
|
|
|
- br.ErrMsg = "参数解析失败, Err: " + e.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if req.ReportUrl == "" {
|
|
|
- br.Msg = "参数有误"
|
|
|
- br.ErrMsg = "报告链接有误"
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- if req.Type != 1 && req.Type != 2 {
|
|
|
- br.Msg = "参数有误"
|
|
|
- br.ErrMsg = "获取资源类型有误"
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- filePath := `./static/` + req.ReportCode
|
|
|
- var err error
|
|
|
- if req.Type == 1 {
|
|
|
- filePath += ".pdf"
|
|
|
- err = services.ReportToPdf(req.ReportUrl, filePath)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "转换失败"
|
|
|
- br.ErrMsg = "报告转PDF失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- } else {
|
|
|
- filePath += ".jpeg"
|
|
|
- err = services.ReportToJpeg(req.ReportUrl, filePath)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "转换失败"
|
|
|
- br.ErrMsg = "报告转图片失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- file, err := os.Open(filePath)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("Error:", err)
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- ext := path.Ext(file.Name())
|
|
|
- //dateDir := time.Now().Format("20060102")
|
|
|
- //uploadDir := utils.STATIC_DIR + "hongze/" + dateDir
|
|
|
- //err = os.MkdirAll(uploadDir, utils.DIR_MOD)
|
|
|
- //if err != nil {
|
|
|
- // br.Msg = "存储目录创建失败"
|
|
|
- // br.ErrMsg = "存储目录创建失败,Err:" + err.Error()
|
|
|
- // return
|
|
|
- //}
|
|
|
- randStr := utils.GetRandStringNoSpecialChar(28)
|
|
|
- fileName := randStr + ext
|
|
|
- //fpath := utils.STATIC_DIR + "/" + fileName
|
|
|
- defer file.Close() //关闭上传文件
|
|
|
-
|
|
|
- resourceUrl := ``
|
|
|
- ossClient := services.NewOssClient()
|
|
|
- if ossClient == nil {
|
|
|
- br.Msg = "上传失败"
|
|
|
- br.ErrMsg = "初始化OSS服务失败"
|
|
|
- return
|
|
|
- }
|
|
|
- resourceUrl, err = ossClient.UploadFile(fileName, filePath, "")
|
|
|
- if err != nil {
|
|
|
- br.Msg = "文件上传失败"
|
|
|
- br.ErrMsg = "文件上传失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- defer func() {
|
|
|
- _ = os.Remove(filePath)
|
|
|
- }()
|
|
|
-
|
|
|
-
|
|
|
- br.Ret = 200
|
|
|
- br.Success = true
|
|
|
- br.Data = resourceUrl
|
|
|
- br.Msg = "操作成功"
|
|
|
-}
|