1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package controllers
- import (
- "encoding/json"
- "eta/eta_data_analysis/models"
- "eta/eta_data_analysis/services/pdf"
- "fmt"
- "github.com/beego/beego/v2/server/web"
- )
- type PdfController struct {
- web.Controller
- }
- // GeneratePdf
- // @Title 生成PDF
- // @Description 合同套餐列表
- // @Param DayFlag query int false
- // @Param WeekFlag query int false
- // @Success 200 {object} company.GetUnusualRenewListGroupMonthResp
- // @router /generate_pdf [post]
- func (pdfcontrl *PdfController) GeneratePdf() {
- br := new(models.BaseResponse).Init()
- defer func() {
- pdfcontrl.Data["json"] = br
- _ = pdfcontrl.ServeJSON()
- }()
- var req PdfRequest
- err := json.Unmarshal(pdfcontrl.Ctx.Input.RequestBody, &req)
- if err != nil {
- br.Msg = "参数解析异常!"
- br.ErrMsg = "参数解析失败,Err:" + err.Error()
- return
- }
- var data PdfResponse
- var pdfUrl, jpgUrl, mobilePdfUrl, mobileJpgUrl string
- if req.FreeLayout {
- pdfUrl, jpgUrl, err = pdf.Report2pdfAndJpeg(req.ReportUrl, req.ReportId, pdf.FreeLayout)
- if err != nil {
- br.Msg = "生成PDF失败!"
- br.ErrMsg = "生成PDF失败,Err:" + err.Error()
- return
- }
- data.PdfUrl = pdfUrl
- data.JpgUrl = jpgUrl
- } else {
- pdfUrl, jpgUrl, err = pdf.Report2pdfAndJpeg(req.ReportUrl, req.ReportId, pdf.PC)
- if err != nil {
- br.Msg = "生成PDF失败!"
- br.ErrMsg = "生成PDF失败,Err:" + err.Error()
- return
- }
- mobilePdfUrl, mobileJpgUrl, err = pdf.Report2pdfAndJpeg(req.ReportUrl, req.ReportId, pdf.Mobile)
- if err != nil {
- br.Msg = "生成PDF失败!"
- br.ErrMsg = "生成PDF失败,Err:" + err.Error()
- return
- }
- data.PdfUrl = pdfUrl
- data.JpgUrl = jpgUrl
- data.MobilePdfUrl = mobilePdfUrl
- data.MobileJpgUrl = mobileJpgUrl
- }
- str := fmt.Sprintf("%v", data)
- fmt.Println(str)
- br.Data = data
- br.Ret = 200
- br.Success = true
- br.Msg = "生成PDF成功"
- }
- type PdfRequest struct {
- ReportUrl string `json:"ReportUrl"`
- ReportId int `json:"ReportId"`
- FreeLayout bool `json:"FreeLayout"`
- }
- type PdfResponse struct {
- PdfUrl string `json:"PdfUrl"`
- JpgUrl string `json:"JpgUrl"`
- MobilePdfUrl string `json:"MobilePdfUrl"`
- MobileJpgUrl string `json:"MobileJpgUrl"`
- }
|