|
@@ -108,6 +108,9 @@ func (this *SmartReportController) Add() {
|
|
item.HeadImg = req.HeadImg
|
|
item.HeadImg = req.HeadImg
|
|
item.EndImg = req.EndImg
|
|
item.EndImg = req.EndImg
|
|
item.CanvasColor = req.CanvasColor
|
|
item.CanvasColor = req.CanvasColor
|
|
|
|
+ item.HeadResourceId = req.HeadResourceId
|
|
|
|
+ item.EndResourceId = req.EndResourceId
|
|
|
|
+ item.NeedSplice = 1
|
|
|
|
|
|
// 继承报告
|
|
// 继承报告
|
|
if req.AddType == 2 {
|
|
if req.AddType == 2 {
|
|
@@ -244,7 +247,7 @@ func (this *SmartReportController) Edit() {
|
|
contentModify = true
|
|
contentModify = true
|
|
}
|
|
}
|
|
cols := []string{"ClassifyIdFirst", "ClassifyNameFirst", "ClassifyIdSecond", "ClassifyNameSecond", "Title", "Abstract", "Author",
|
|
cols := []string{"ClassifyIdFirst", "ClassifyNameFirst", "ClassifyIdSecond", "ClassifyNameSecond", "Title", "Abstract", "Author",
|
|
- "Frequency", "Content", "ContentSub", "ContentStruct", "ModifyTime", "HeadImg", "EndImg", "CanvasColor"}
|
|
|
|
|
|
+ "Frequency", "Content", "ContentSub", "ContentStruct", "ModifyTime", "HeadImg", "EndImg", "CanvasColor","HeadResourceId", "EndResourceId"}
|
|
item.ClassifyIdFirst = req.ClassifyIdFirst
|
|
item.ClassifyIdFirst = req.ClassifyIdFirst
|
|
item.ClassifyNameFirst = req.ClassifyNameFirst
|
|
item.ClassifyNameFirst = req.ClassifyNameFirst
|
|
item.ClassifyIdSecond = req.ClassifyIdSecond
|
|
item.ClassifyIdSecond = req.ClassifyIdSecond
|
|
@@ -260,6 +263,8 @@ func (this *SmartReportController) Edit() {
|
|
item.HeadImg = req.HeadImg
|
|
item.HeadImg = req.HeadImg
|
|
item.EndImg = req.EndImg
|
|
item.EndImg = req.EndImg
|
|
item.CanvasColor = req.CanvasColor
|
|
item.CanvasColor = req.CanvasColor
|
|
|
|
+ item.HeadResourceId = req.HeadResourceId
|
|
|
|
+ item.EndResourceId = req.EndResourceId
|
|
if contentModify {
|
|
if contentModify {
|
|
item.LastModifyAdminId = sysUser.AdminId
|
|
item.LastModifyAdminId = sysUser.AdminId
|
|
item.LastModifyAdminName = sysUser.RealName
|
|
item.LastModifyAdminName = sysUser.RealName
|
|
@@ -272,6 +277,27 @@ func (this *SmartReportController) Edit() {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
resp := smart_report.FormatSmartReport2Item(item)
|
|
resp := smart_report.FormatSmartReport2Item(item)
|
|
|
|
+ if resp.HeadResourceId > 0 {
|
|
|
|
+ headResource, err := smart_report.GetResourceItemById(resp.HeadResourceId)
|
|
|
|
+ if err != nil {
|
|
|
|
+ br.Msg = "操作失败"
|
|
|
|
+ br.ErrMsg = "获取资源库版头失败, Err: " + e.Error()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ resp.HeadImg = headResource.ImgUrl
|
|
|
|
+ resp.HeadStyle = headResource.Style
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if resp.EndResourceId > 0 {
|
|
|
|
+ endResource, err := smart_report.GetResourceItemById(resp.EndResourceId)
|
|
|
|
+ if err != nil {
|
|
|
|
+ br.Msg = "操作失败"
|
|
|
|
+ br.ErrMsg = "获取资源库版头失败, Err: " + e.Error()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ resp.EndImg = endResource.ImgUrl
|
|
|
|
+ resp.EndStyle = endResource.Style
|
|
|
|
+ }
|
|
|
|
|
|
br.Ret = 200
|
|
br.Ret = 200
|
|
br.Success = true
|
|
br.Success = true
|
|
@@ -496,10 +522,10 @@ func (this *SmartReportController) Publish() {
|
|
item.PrePublishTime = time.Time{}
|
|
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的文件地址, 发布时间以及预发布时间
|
|
// 取消发布时同时清除掉Img和PDF的文件地址, 发布时间以及预发布时间
|
|
@@ -538,6 +564,11 @@ func (this *SmartReportController) Publish() {
|
|
go func() {
|
|
go func() {
|
|
_ = services.SmartReportElasticUpsert(item.SmartReportId, models.ReportStatePublished)
|
|
_ = services.SmartReportElasticUpsert(item.SmartReportId, models.ReportStatePublished)
|
|
}()
|
|
}()
|
|
|
|
+
|
|
|
|
+ // 生成报告pdf和长图
|
|
|
|
+ if req.ReportUrl != "" {
|
|
|
|
+ go services.Report2pdfAndJpeg(req.ReportUrl, item.SmartReportId, 3)
|
|
|
|
+ }
|
|
}
|
|
}
|
|
if state == smart_report.SmartReportStateWaitPublish {
|
|
if state == smart_report.SmartReportStateWaitPublish {
|
|
// ES更新报告
|
|
// ES更新报告
|
|
@@ -651,6 +682,11 @@ func (this *SmartReportController) PrePublish() {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // 生成报告pdf和长图
|
|
|
|
+ if req.ReportUrl != "" {
|
|
|
|
+ go services.Report2pdfAndJpeg(req.ReportUrl, item.SmartReportId, 3)
|
|
|
|
+ }
|
|
|
|
+
|
|
br.Ret = 200
|
|
br.Ret = 200
|
|
br.Success = true
|
|
br.Success = true
|
|
br.Msg = "操作成功"
|
|
br.Msg = "操作成功"
|
|
@@ -834,7 +870,9 @@ func (this *SmartReportController) SaveContent() {
|
|
item.HeadImg = req.HeadImg
|
|
item.HeadImg = req.HeadImg
|
|
item.EndImg = req.EndImg
|
|
item.EndImg = req.EndImg
|
|
item.CanvasColor = req.CanvasColor
|
|
item.CanvasColor = req.CanvasColor
|
|
- cols := []string{"Content", "ContentSub", "ContentStruct", "ContentModifyTime", "LastModifyAdminId", "LastModifyAdminName", "ModifyTime", "HeadImg", "EndImg", "CanvasColor"}
|
|
|
|
|
|
+ item.HeadResourceId = req.HeadResourceId
|
|
|
|
+ item.EndResourceId = req.EndResourceId
|
|
|
|
+ cols := []string{"Content", "ContentSub", "ContentStruct", "ContentModifyTime", "LastModifyAdminId", "LastModifyAdminName", "ModifyTime", "HeadImg", "EndImg", "CanvasColor","HeadResourceId", "EndResourceId"}
|
|
if e = item.Update(cols); e != nil {
|
|
if e = item.Update(cols); e != nil {
|
|
br.Msg = "操作失败"
|
|
br.Msg = "操作失败"
|
|
br.ErrMsg = "更新报告内容失败"
|
|
br.ErrMsg = "更新报告内容失败"
|
|
@@ -1148,7 +1186,7 @@ func (this *SmartReportController) DetailImg() {
|
|
var queue smart_report.Report2ImgQueueReq
|
|
var queue smart_report.Report2ImgQueueReq
|
|
queue.ReportType = 2
|
|
queue.ReportType = 2
|
|
queue.ReportCode = item.ReportCode
|
|
queue.ReportCode = item.ReportCode
|
|
- _ = utils.Rc.LPush(utils.CACHE_CREATE_REPORT_IMGPDF_QUEUE, queue)
|
|
|
|
|
|
+ //_ = utils.Rc.LPush(utils.CACHE_CREATE_REPORT_IMGPDF_QUEUE, queue)
|
|
|
|
|
|
br.Msg = "图片正在生成中, 请稍后下载"
|
|
br.Msg = "图片正在生成中, 请稍后下载"
|
|
return
|
|
return
|
|
@@ -1527,107 +1565,4 @@ func (this *SmartReportController) CancelApprove() {
|
|
br.Msg = "操作成功"
|
|
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 = "操作成功"
|
|
|
|
-}
|
|
|