From bbc18f56afdff468101533e2e8ee1d72fdc74c61 Mon Sep 17 00:00:00 2001 From: cjy Date: Tue, 3 Mar 2026 10:33:34 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E8=B0=83=E6=95=B4=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E6=8F=90=E7=A4=BA=E8=AF=AD=EF=BC=8C=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/service/cast/report.go | 51 +++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/pkg/service/cast/report.go b/pkg/service/cast/report.go index 064d0fb7..1415983b 100644 --- a/pkg/service/cast/report.go +++ b/pkg/service/cast/report.go @@ -114,7 +114,7 @@ func CreateCompetitiveReportCore(ctx *gin.Context, req *cast.CreateCompetitiveRe // 验证:必须传入 json_data(使用模板方式生成PDF) hasReportData := reportData.OverallSummary != "" || reportData.HighlightAnalysis.Summary != "" if !hasReportData { - return nil, errors.New("请传入json_data参数") + return nil, errors.New("参数错误") } if req.ImageUrl != "" { @@ -128,6 +128,7 @@ func CreateCompetitiveReportCore(ctx *gin.Context, req *cast.CreateCompetitiveRe // 使用模板方式生成PDF zap.L().Info("reportData内容", zap.Any("reportData", reportData)) + fmt.Println(reportData) // 直接使用传入的结构体数据 competitorReportData := reportData @@ -139,35 +140,35 @@ func CreateCompetitiveReportCore(ctx *gin.Context, req *cast.CreateCompetitiveRe zap.L().Info("解析成功", zap.Any("competitorReportData", competitorReportData)) - today := time.Now().Format("20060102") - timestamp := time.Now().UnixMicro() - pdfFileName := fmt.Sprintf("%s%s老师的竞品报告%d.pdf", today, req.ArtistName, timestamp) - pdfFilePath := "./runtime/report_pdf/" + pdfFileName + today := time.Now().Format("20060102") + timestamp := time.Now().UnixMicro() + pdfFileName := fmt.Sprintf("%s%s老师的竞品报告%d.pdf", today, req.ArtistName, timestamp) + pdfFilePath := "./runtime/report_pdf/" + pdfFileName - _, err = utils.CheckDirPath("./runtime/report_pdf/", true) - if err != nil { - return nil, fmt.Errorf("创建PDF目录失败: %v", err) - } + _, err = utils.CheckDirPath("./runtime/report_pdf/", true) + if err != nil { + return nil, fmt.Errorf("创建PDF目录失败: %v", err) + } - // 模板路径 - templatePath := "./data/竞品报告pdf模板.pdf" + // 模板路径 + templatePath := "./data/竞品报告pdf模板.pdf" - // 调用 GenerateCompetitorReportPDF - err = utils.GenerateCompetitorReportPDF(templatePath, pdfFilePath, competitorReportData) - if err != nil { - zap.L().Error("生成PDF失败", zap.Error(err)) - return nil, errors.New("生成PDF失败") - } + // 调用 GenerateCompetitorReportPDF + err = utils.GenerateCompetitorReportPDF(templatePath, pdfFilePath, competitorReportData) + if err != nil { + zap.L().Error("生成PDF失败", zap.Error(err)) + return nil, errors.New("生成PDF失败") + } - defer func() { - if _, err := os.Stat(pdfFilePath); err == nil { - if err := os.Remove(pdfFilePath); err != nil { - zap.L().Warn("删除临时PDF文件失败", zap.String("path", pdfFilePath), zap.Error(err)) - } else { - zap.L().Info("删除临时PDF文件成功", zap.String("path", pdfFilePath)) - } + defer func() { + if _, err := os.Stat(pdfFilePath); err == nil { + if err := os.Remove(pdfFilePath); err != nil { + zap.L().Warn("删除临时PDF文件失败", zap.String("path", pdfFilePath), zap.Error(err)) + } else { + zap.L().Info("删除临时PDF文件成功", zap.String("path", pdfFilePath)) } - }() + } + }() pdfUrl, uploadErr := upload.PutBos(pdfFilePath, upload.PdfType, true) if uploadErr != nil {