ソースを参照

pdf 打水印

xingzai 3 年 前
コミット
408f91a141
2 ファイル変更92 行追加0 行削除
  1. 89 0
      controllers/article.go
  2. 3 0
      models/article.go

+ 89 - 0
controllers/article.go

@@ -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"`
+}

+ 3 - 0
models/article.go

@@ -121,6 +121,9 @@ type ArticleDetail struct {
 	SellerList           []*SellerRep
 }
 
+type ArticleDetailFileLink struct {
+	FileLink string `description:"下载预览链接"`
+}
 type SellerRep struct {
 	SellerMobile string `description:"销售手机号"`
 	SellerName   string `description:"销售名称"`