diff --git a/src/main/java/kz/konturai/parser/dto/MarketingAnalysisResponseV2.java b/src/main/java/kz/konturai/parser/dto/MarketingAnalysisResponseV2.java index 8914b2b..292a7fa 100644 --- a/src/main/java/kz/konturai/parser/dto/MarketingAnalysisResponseV2.java +++ b/src/main/java/kz/konturai/parser/dto/MarketingAnalysisResponseV2.java @@ -129,7 +129,7 @@ public class MarketingAnalysisResponseV2 { private String title; private MarketOverviewMetrics metrics; private MonthlyOnlineIndex monthlyOnlineIndex; - private List geography; + private Map geography; private String conclusion; public MarketOverview() { @@ -159,11 +159,11 @@ public class MarketingAnalysisResponseV2 { this.monthlyOnlineIndex = monthlyOnlineIndex; } - public List getGeography() { + public Map getGeography() { return geography; } - public void setGeography(List geography) { + public void setGeography(Map geography) { this.geography = geography; } @@ -176,36 +176,6 @@ public class MarketingAnalysisResponseV2 { } } - @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) - public static class GeographyInterestByCity { - private String city; - private Integer interestIndex; - - public GeographyInterestByCity() { - } - - public GeographyInterestByCity(String city, Integer interestIndex) { - this.city = city; - this.interestIndex = interestIndex; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public Integer getInterestIndex() { - return interestIndex; - } - - public void setInterestIndex(Integer interestIndex) { - this.interestIndex = interestIndex; - } - } - @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class MarketOverviewMetrics { private String onlineDemandIndex; @@ -1177,5 +1147,3 @@ public class MarketingAnalysisResponseV2 { } } } - - diff --git a/src/main/java/kz/konturai/parser/service/MarketingAnalysisService.java b/src/main/java/kz/konturai/parser/service/MarketingAnalysisService.java index 9492b3f..abfb515 100644 --- a/src/main/java/kz/konturai/parser/service/MarketingAnalysisService.java +++ b/src/main/java/kz/konturai/parser/service/MarketingAnalysisService.java @@ -668,7 +668,7 @@ public class MarketingAnalysisService { + " - проценты/строки формата \"76/100\", \"+27%\", \"1.34x\" => string\n" + " - monthly_online_index.* => number (double)\n" + " - funnel_metrics.leads/bookings/payments => integer\n" - + " - market_overview.geography => array of objects: [{\"city\": string, \"interest_index\": integer}]\n" + + " - market_overview.geography => object with city names as keys and interest_index as integer values: {\"Алматы\": 20, \"Астана\": 30}\n" + "5) Пиши на русском языке.\n" + "6) НИКОГДА не копируй значения из примера. В примере намеренно стоят плейсхолдеры, " + "которые начинаются с 'EXAMPLE__' и числа -9999/-9999.0 — в твоем ответе их быть НЕ должно.\n\n" @@ -855,10 +855,10 @@ public class MarketingAnalysisService { monthlyOnlineIndex.setApril(-9999.0); monthlyOnlineIndex.setMay(-9999.0); marketOverview.setMonthlyOnlineIndex(monthlyOnlineIndex); - marketOverview.setGeography(List.of( - new MarketingAnalysisResponseV2.GeographyInterestByCity("EXAMPLE__CITY_1", -9999), - new MarketingAnalysisResponseV2.GeographyInterestByCity("EXAMPLE__CITY_2", -9999), - new MarketingAnalysisResponseV2.GeographyInterestByCity("EXAMPLE__CITY_3", -9999))); + marketOverview.setGeography(Map.of( + "EXAMPLE__CITY_1", -9999, + "EXAMPLE__CITY_2", -9999, + "EXAMPLE__CITY_3", -9999)); marketOverview.setConclusion("EXAMPLE__MARKET_OVERVIEW_CONCLUSION"); sections.setMarketOverview(marketOverview);