fix: 竞品报告批量导入的时候添加到正文
This commit is contained in:
parent
9c4c4b1c66
commit
8022eca1f8
@ -577,6 +577,11 @@ func ImportCompetitiveReportBatch(ctx *gin.Context) {
|
||||
// 将上传后的PDF链接设置到请求中
|
||||
temp.PdfUrl = pdfUrl
|
||||
|
||||
// 生成竞品报告正文
|
||||
// 判断是否为视频:如果有图片URL则为图片,否则根据配乐亮点和完播率是否有值来判断
|
||||
isVideo := competitorReportData.HighlightAnalysis.Points.Music != "" || competitorReportData.DataPerformance.Completion != ""
|
||||
temp.ReportContent = utils.ConvertCompetitorReportToText(competitorReportData, isVideo)
|
||||
|
||||
// 清理临时PDF文件
|
||||
if _, err := os.Stat(pdfFilePath); err == nil {
|
||||
if err := os.Remove(pdfFilePath); err != nil {
|
||||
|
||||
@ -9,6 +9,7 @@ import (
|
||||
"net/url"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"unicode"
|
||||
|
||||
"github.com/phpdave11/gofpdf"
|
||||
@ -497,3 +498,67 @@ func wrapText(text string, maxLen int) []string {
|
||||
|
||||
return lines
|
||||
}
|
||||
|
||||
// ConvertCompetitorReportToText 将竞品报告数据转换为文本格式
|
||||
// 参数:
|
||||
// - data: 竞品报告数据
|
||||
// - isVideo: 是否为视频(视频需要包含完播率和配乐亮点)
|
||||
//
|
||||
// 返回: 转换后的文本内容
|
||||
func ConvertCompetitorReportToText(data CompetitorReportData, isVideo bool) string {
|
||||
var sb strings.Builder
|
||||
|
||||
// 一、亮点表现分析
|
||||
sb.WriteString("一、亮点表现分析\n")
|
||||
sb.WriteString(data.HighlightAnalysis.Summary)
|
||||
sb.WriteString("\n\n")
|
||||
|
||||
sb.WriteString("1. 标题亮点:")
|
||||
sb.WriteString(data.HighlightAnalysis.Points.Theme)
|
||||
sb.WriteString("\n")
|
||||
|
||||
sb.WriteString("2. 题材亮点:")
|
||||
sb.WriteString(data.HighlightAnalysis.Points.Narrative)
|
||||
sb.WriteString("\n")
|
||||
|
||||
sb.WriteString("3. 内容亮点:")
|
||||
sb.WriteString(data.HighlightAnalysis.Points.Content)
|
||||
sb.WriteString("\n")
|
||||
|
||||
sb.WriteString("4. 文案亮点:")
|
||||
sb.WriteString(data.HighlightAnalysis.Points.Copywriting)
|
||||
sb.WriteString("\n")
|
||||
|
||||
sb.WriteString("5. 数据亮点:")
|
||||
sb.WriteString(data.HighlightAnalysis.Points.Data)
|
||||
sb.WriteString("\n")
|
||||
|
||||
if isVideo && data.HighlightAnalysis.Points.Music != "" {
|
||||
sb.WriteString("6. 配乐亮点:")
|
||||
sb.WriteString(data.HighlightAnalysis.Points.Music)
|
||||
sb.WriteString("\n")
|
||||
}
|
||||
|
||||
// 二、数据表现分析
|
||||
sb.WriteString("\n二、数据表现分析\n")
|
||||
sb.WriteString("1. 浏览量表现:")
|
||||
sb.WriteString(data.DataPerformance.Views)
|
||||
sb.WriteString("\n")
|
||||
|
||||
if isVideo && data.DataPerformance.Completion != "" {
|
||||
sb.WriteString("2. 完播率表现:")
|
||||
sb.WriteString(data.DataPerformance.Completion)
|
||||
sb.WriteString("\n")
|
||||
sb.WriteString("3. 点赞/分享/评论表现:")
|
||||
} else {
|
||||
sb.WriteString("2. 点赞/分享/评论表现:")
|
||||
}
|
||||
sb.WriteString(data.DataPerformance.Engagement)
|
||||
sb.WriteString("\n")
|
||||
|
||||
// 三、整体总结及可优化建议
|
||||
sb.WriteString("\n三、整体总结及可优化建议\n")
|
||||
sb.WriteString(data.OverallSummary)
|
||||
|
||||
return sb.String()
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user