.
This commit is contained in:
@@ -2154,13 +2154,34 @@ public class MarketingAnalysisService {
|
|||||||
chartsData != null ? chartsData.keySet() : "null");
|
chartsData != null ? chartsData.keySet() : "null");
|
||||||
report.put("chartsData", chartsData);
|
report.put("chartsData", chartsData);
|
||||||
|
|
||||||
|
// Заменяем плейсхолдеры графиков на JSON-блоки
|
||||||
|
String processedTextReport = textReport;
|
||||||
|
if (textReport != null && chartsData != null && !chartsData.isEmpty()) {
|
||||||
|
logger.info("generateMarketingReport: Replacing chart placeholders in text report");
|
||||||
|
processedTextReport = replaceChartPlaceholders(textReport, chartsData);
|
||||||
|
logger.info("generateMarketingReport: Chart placeholders replaced. Length: {} chars",
|
||||||
|
processedTextReport != null ? processedTextReport.length() : 0);
|
||||||
|
} else if (textReport != null) {
|
||||||
|
// Если данных графиков нет, просто удаляем плейсхолдеры
|
||||||
|
logger.warn("generateMarketingReport: No chart data available, removing placeholders");
|
||||||
|
processedTextReport = textReport
|
||||||
|
.replace("[[CHART_SEASONALITY]]", "")
|
||||||
|
.replace("[[CHART_AUDIENCE]]", "")
|
||||||
|
.replace("[[CHART_COMPETITORS]]", "")
|
||||||
|
.replace("[[CHART_CHANNELS]]", "")
|
||||||
|
.replace("[[CHART_FUNNEL]]", "")
|
||||||
|
.replace("[[CHART_SWOT]]", "");
|
||||||
|
}
|
||||||
|
|
||||||
// Сохраняем данные анализа
|
// Сохраняем данные анализа
|
||||||
report.put("analysisTypes", analysisTypeNames);
|
report.put("analysisTypes", analysisTypeNames);
|
||||||
report.put("detailLevel", detailLevelName);
|
report.put("detailLevel", detailLevelName);
|
||||||
report.put("fullAnalysis", textReport != null ? textReport : "Анализ не удалось сгенерировать.");
|
report.put("fullAnalysis",
|
||||||
report.put("summary", textReport != null ? textReport : "Анализ не удалось сгенерировать."); // Keep for
|
processedTextReport != null ? processedTextReport : "Анализ не удалось сгенерировать.");
|
||||||
// backward
|
report.put("summary",
|
||||||
// compatibility
|
processedTextReport != null ? processedTextReport : "Анализ не удалось сгенерировать."); // Keep for
|
||||||
|
// backward
|
||||||
|
// compatibility
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generate target audience description (adjusted by detail level)
|
// Generate target audience description (adjusted by detail level)
|
||||||
|
|||||||
Reference in New Issue
Block a user