fix
This commit is contained in:
@@ -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<String, Integer> 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<AudienceSegment> segments;
|
||||
private Map<String, String> 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<String, Integer> digitalVisibilityBenchmarks;
|
||||
private Map<String, List<String>> 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<String, String> decisionFactors;
|
||||
private Map<String, String> 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<String, String> channelShares;
|
||||
private Map<String, ChannelEfficiency> 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<String> 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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user