|
@@ -7,6 +7,7 @@ import (
|
|
|
"hongze/hongze_cygx/services"
|
|
|
"hongze/hongze_cygx/utils"
|
|
|
"html"
|
|
|
+ "rdluck_tools/http"
|
|
|
"regexp"
|
|
|
"strconv"
|
|
|
"strings"
|
|
@@ -687,3 +688,91 @@ func (this *ArticleController) AskAdd() {
|
|
|
br.Success = true
|
|
|
br.Msg = "提交成功"
|
|
|
}
|
|
|
+
|
|
|
+// @Title 下载PDF打水印
|
|
|
+// @Description 下载PDF打水印接口
|
|
|
+// @Param ArticleId query int true "报告ID"
|
|
|
+// @Success 200 {object} models.ArticleDetailFileLink
|
|
|
+// @router /pdfwatermark [get]
|
|
|
+func (this *ArticleController) Pdfwatermark() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ user := this.User
|
|
|
+ if user == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,用户信息为空"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ articleId, err := this.GetInt("ArticleId")
|
|
|
+ if articleId <= 0 {
|
|
|
+ br.Msg = "文章不存在"
|
|
|
+ br.ErrMsg = "文章不存在,文章ID错误"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ detail := new(models.ArticleDetail)
|
|
|
+ detail, err = models.GetArticleDetailById(articleId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ fileLink := detail.FileLink
|
|
|
+ if fileLink == "" {
|
|
|
+ br.Msg = "下载失败"
|
|
|
+ br.ErrMsg = "下载失败,报告链接不存在"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ mobile := user.Mobile
|
|
|
+ if mobile == "" {
|
|
|
+ mobile = user.Email
|
|
|
+ }
|
|
|
+
|
|
|
+ fmt.Println(fileLink)
|
|
|
+ //getUrl := "http://127.0.0.1:5000/pdfwatermark?Mobile=" + mobile + "&Name=" + user.RealName + "&FileLink=" + fileLink //
|
|
|
+ //result, err := http.Get(getUrl)
|
|
|
+
|
|
|
+ dataMap := make(map[string]interface{})
|
|
|
+ dataMap["Mobile"] = mobile
|
|
|
+ //dataMap["Name"] = user.RealName
|
|
|
+ dataMap["Name"] = ""
|
|
|
+ dataMap["FileLink"] = fileLink
|
|
|
+ postUrl := "http://127.0.0.1:5000/pdfwatermark/" //
|
|
|
+ fmt.Println("postUrl:", postUrl)
|
|
|
+ postData, err := json.Marshal(dataMap)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取postData数据失败"
|
|
|
+ br.ErrMsg = "解析,Marshal,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ fmt.Println("publish ppt param:", string(postData))
|
|
|
+ result, err := http.Post(postUrl, string(postData))
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "发布失败"
|
|
|
+ br.ErrMsg = "Marshal,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ fmt.Println("publish pdf result:", string(result))
|
|
|
+ var pdfResult PublishPdfResult
|
|
|
+ err = json.Unmarshal(result, &pdfResult)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取数据失败"
|
|
|
+ br.ErrMsg = "Unmarshal,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp := new(models.ArticleDetailFileLink)
|
|
|
+ resp.FileLink = "/Library/WebServer/python/hongze_pptx" + strings.TrimLeft(pdfResult.FilePath, ".")
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|
|
|
+
|
|
|
+type PublishPdfResult struct {
|
|
|
+ Result string `json:"result"`
|
|
|
+ FilePath string `json:"file_path"`
|
|
|
+}
|