fix: 竞品报告批量导入的时候添加到正文
This commit is contained in:
parent
9c4c4b1c66
commit
8022eca1f8
@ -577,6 +577,11 @@ func ImportCompetitiveReportBatch(ctx *gin.Context) {
|
|||||||
// 将上传后的PDF链接设置到请求中
|
// 将上传后的PDF链接设置到请求中
|
||||||
temp.PdfUrl = pdfUrl
|
temp.PdfUrl = pdfUrl
|
||||||
|
|
||||||
|
// 生成竞品报告正文
|
||||||
|
// 判断是否为视频:如果有图片URL则为图片,否则根据配乐亮点和完播率是否有值来判断
|
||||||
|
isVideo := competitorReportData.HighlightAnalysis.Points.Music != "" || competitorReportData.DataPerformance.Completion != ""
|
||||||
|
temp.ReportContent = utils.ConvertCompetitorReportToText(competitorReportData, isVideo)
|
||||||
|
|
||||||
// 清理临时PDF文件
|
// 清理临时PDF文件
|
||||||
if _, err := os.Stat(pdfFilePath); err == nil {
|
if _, err := os.Stat(pdfFilePath); err == nil {
|
||||||
if err := os.Remove(pdfFilePath); err != nil {
|
if err := os.Remove(pdfFilePath); err != nil {
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import (
|
|||||||
"net/url"
|
"net/url"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"strings"
|
||||||
"unicode"
|
"unicode"
|
||||||
|
|
||||||
"github.com/phpdave11/gofpdf"
|
"github.com/phpdave11/gofpdf"
|
||||||
@ -497,3 +498,67 @@ func wrapText(text string, maxLen int) []string {
|
|||||||
|
|
||||||
return lines
|
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