From cf953f39c870cf0e7ae21d4dd926e3e13b8d7c27 Mon Sep 17 00:00:00 2001 From: arys Date: Mon, 19 Jan 2026 16:14:29 +0500 Subject: [PATCH] fix --- .../dto/MarketingAnalysisResponseV2.java | 147 +++++++----------- 1 file changed, 56 insertions(+), 91 deletions(-) diff --git a/src/main/java/kz/konturai/parser/dto/MarketingAnalysisResponseV2.java b/src/main/java/kz/konturai/parser/dto/MarketingAnalysisResponseV2.java index c513932..3e05da0 100644 --- a/src/main/java/kz/konturai/parser/dto/MarketingAnalysisResponseV2.java +++ b/src/main/java/kz/konturai/parser/dto/MarketingAnalysisResponseV2.java @@ -2,7 +2,9 @@ package kz.konturai.parser.dto; import com.fasterxml.jackson.databind.PropertyNamingStrategies; import com.fasterxml.jackson.databind.annotation.JsonNaming; +import lombok.AllArgsConstructor; import lombok.Getter; +import lombok.NoArgsConstructor; import lombok.Setter; import java.util.List; @@ -10,6 +12,8 @@ import java.util.Map; @Setter @Getter +@AllArgsConstructor +@NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public class MarketingAnalysisResponseV2 { @@ -19,6 +23,8 @@ public class MarketingAnalysisResponseV2 { @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class Sections { private MarketOverview marketOverview; @@ -30,29 +36,25 @@ public class MarketingAnalysisResponseV2 { private MarketingEconomics marketingEconomics; private Bottlenecks bottlenecks; private Recommendations recommendations; - - public Sections() { - } - } @Setter @Getter @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) + @AllArgsConstructor + @NoArgsConstructor public static class MarketOverview { private String title; private MarketOverviewMetrics metrics; private MonthlyOnlineIndex monthlyOnlineIndex; private Map geography; private String conclusion; - - public MarketOverview() { - } - } @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class MarketOverviewMetrics { private String onlineDemandIndex; @@ -60,14 +62,12 @@ public class MarketingAnalysisResponseV2 { private String demandGrowthRateYoy; private String seasonalityCoefficientSpring; private String seasonalityRange; - - public MarketOverviewMetrics() { - } - } @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class MonthlyOnlineIndex { private Double january; @@ -82,14 +82,12 @@ public class MarketingAnalysisResponseV2 { private Double october; private Double november; private Double december; - - public MonthlyOnlineIndex() { - } - } @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class TargetAudience { private String title; @@ -99,44 +97,33 @@ public class MarketingAnalysisResponseV2 { private List segments; private Map ageStructure; private String conclusion; - - public TargetAudience() { - } - } @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class TargetAudienceMetrics { private String totalAudienceSize; private String leadingSegmentShare; private String aboveAverageIncomeShare; - - public TargetAudienceMetrics() { - } - } @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class AudienceSegment { private String name; private String share; - - public AudienceSegment() { - } - - public AudienceSegment(String name, String share) { - this.name = name; - this.share = share; - } - } @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class CompetitiveEnvironment { private String title; @@ -144,14 +131,12 @@ public class MarketingAnalysisResponseV2 { private Map digitalVisibilityBenchmarks; private Map> competitorStrengths; private String conclusion; - - public CompetitiveEnvironment() { - } - } @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class CompetitiveEnvironmentMetrics { private String marketShareTraffic; @@ -159,13 +144,12 @@ public class MarketingAnalysisResponseV2 { private String competitorShareInContextAds; private String benchmarkAstana; - public CompetitiveEnvironmentMetrics() { - } - } @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class DemandAndBehavior { private String title; @@ -174,27 +158,23 @@ public class MarketingAnalysisResponseV2 { private Map decisionFactors; private Map reasonsForRefusal; private String conclusion; - - public DemandAndBehavior() { - } - } @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class DemandAndBehaviorMetrics { private String searchVolumeGrowth; private String interactionsBeforePurchase; private String repeatRefusalProbability; - - public DemandAndBehaviorMetrics() { - } - } @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class CustomerJourney { private String title; @@ -202,14 +182,12 @@ public class MarketingAnalysisResponseV2 { private ConversionRates conversionRates; private FunnelBottlenecks funnelBottlenecks; private String conclusion; - - public CustomerJourney() { - } - } @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class FunnelMetrics { private String adTraffic; @@ -217,39 +195,33 @@ public class MarketingAnalysisResponseV2 { private Integer leads; private Integer bookings; private Integer payments; - - public FunnelMetrics() { - } - } @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class ConversionRates { private String leadToBooking; private String bookingToPayment; private String leadToPaymentTotal; - - public ConversionRates() { - } - } @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class FunnelBottlenecks { private String leadToBooking; private String bookingToPayment; - - public FunnelBottlenecks() { - } - } @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class AcquisitionChannels { private String title; @@ -257,44 +229,33 @@ public class MarketingAnalysisResponseV2 { private Map channelShares; private Map channelEfficiency; private String conclusion; - - public AcquisitionChannels() { - } - } @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class AcquisitionChannelsMetrics { private String searchTrafficShare; private String averageLeadCost; private String growthPotential; - - public AcquisitionChannelsMetrics() { - } - } @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class ChannelEfficiency { private String cost; private String status; - - public ChannelEfficiency() { - } - - public ChannelEfficiency(String cost, String status) { - this.cost = cost; - this.status = status; - } - } @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class MarketingEconomics { private String title; @@ -305,6 +266,8 @@ public class MarketingAnalysisResponseV2 { @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class MarketingEconomicsMetrics { private String customerAcquisitionCostCac; @@ -314,6 +277,8 @@ public class MarketingAnalysisResponseV2 { @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class FinancialPerformance { private MonthYearValue marketingExpenses; @@ -326,20 +291,19 @@ public class MarketingAnalysisResponseV2 { @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class MonthYearValue { private String month; private String year; - public MonthYearValue(String month, String year) { - this.month = month; - this.year = year; - } - } @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class Bottlenecks { private String title; @@ -350,6 +314,8 @@ public class MarketingAnalysisResponseV2 { @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class BottlenecksDetails { private List landing; @@ -359,6 +325,8 @@ public class MarketingAnalysisResponseV2 { @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class Recommendations { private String title; @@ -368,14 +336,11 @@ public class MarketingAnalysisResponseV2 { @Setter @Getter + @AllArgsConstructor + @NoArgsConstructor @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class CorePillar { private String strategy; private String action; - public CorePillar(String strategy, String action) { - this.strategy = strategy; - this.action = action; - } - } }