package com.adx.tencent.config; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; import java.time.Duration; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 全局配置属性类。 * 通过 application.yml 中的 adx.* 前缀绑定。 */ @Component @ConfigurationProperties(prefix = "adx") public class AppProperties { // HTTP Server private String port = "8787"; // Baidu ADX private String baiduAdxEndpoint = "http://debug.mobads.baidu.com/jbssp"; private String baiduConversionBaseUrl = "https://media-interact-test.baidu.com"; private String baiduCustomerName; private String baiduSecret; private String baiduAuctionPriceEncryption; private String baiduAuctionPriceEKey; private String baiduAuctionPriceIKey; private long baiduMediaId = 0; private String baiduAppId; private String baiduTagId; private String baiduAndroidAppId; private String baiduIosAppId; private long baiduBidFloor = 0; private int baiduActionType = 1; private int baiduTrackingMaxRedirects = 20; private int baiduTrackingMax500Retries = 3; private boolean rtaEnabled = false; private String rtaEndpoint = "https://rta-gateway.baidu.com:443/rta-proxy"; private Duration rtaTimeout = Duration.ofMillis(800); private String rtaTuPrefix = "huichuang1213"; private String rtaOrderRedisPrefix = "adx:rta:order:"; private boolean rtaOrderSyncEnabled = true; private Duration rtaOrderSyncInterval = Duration.ofMinutes(5); private Duration rtaOrderCacheTtl = Duration.ofMinutes(15); // Honor Callback private String honorConversionBaseUrl = "https://ads-drcn.platform.hihonorcloud.com"; private String honorRedisStream = "adx:honor:events"; private String honorChannelId = "9"; private boolean honorConversionSyncEnabled = false; private Duration honorConversionSyncInterval = Duration.ofSeconds(300); private int honorConversionSyncDateOffsetDays = 0; private int honorConversionSyncPageSize = 1; private List honorConversionSyncActs = List.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 2001); private boolean honorCallbackRetryEnabled = false; private Duration honorCallbackRetryInterval = Duration.ofSeconds(300); private int honorCallbackRetryLimit = 100; private boolean honorTagEventSyncEnabled = false; private Duration honorTagEventSyncInterval = Duration.ofMinutes(5); private String honorTagEventSyncRedisPrefix = ""; // Kuaishou Callback private String kuaishouConversionBaseUrl = "http://ad.partner.gifshow.com/track/activate"; private String kuaishouRedisStream = "adx:kuaishou:events"; private boolean kuaishouCallbackRetryEnabled = false; private Duration kuaishouCallbackRetryInterval = Duration.ofSeconds(300); private int kuaishouCallbackRetryLimit = 100; private boolean kuaishouTagEventSyncEnabled = false; private Duration kuaishouTagEventSyncInterval = Duration.ofMinutes(5); private String kuaishouTagEventSyncRedisPrefix = ""; // Vivo Callback private String vivoConversionBaseUrl = "https://marketing-api.vivo.com.cn"; private String vivoOauthBaseUrl = "https://open-ad.vivo.com.cn"; private String vivoRedisStream = "adx:vivo:events"; private boolean vivoCallbackRetryEnabled = false; private Duration vivoCallbackRetryInterval = Duration.ofSeconds(300); private int vivoCallbackRetryLimit = 100; private boolean vivoTagEventSyncEnabled = false; private Duration vivoTagEventSyncInterval = Duration.ofMinutes(5); private String vivoTagEventSyncRedisPrefix = ""; private String vivoRedirectUri; private String vivoTokenRedisPrefix = "adx:vivo:token:"; private boolean vivoTokenRefreshEnabled = true; private Duration vivoTokenRefreshInterval = Duration.ofHours(1); private Duration vivoTokenRefreshAhead = Duration.ofDays(1); private boolean vivoAdvertiserSyncEnabled = false; private Duration vivoAdvertiserSyncInterval = Duration.ofMinutes(10); private String vivoAdvertiserRedisPrefix = "adx:vivo:advertiser:"; // OPPO APP Callback (v3.23) private String oppoConversionEndpoint = "https://api.ads.heytapmobi.com/api/uploadActiveData"; private String oppoConversionSalt; private String oppoAesBase64Key; private String oppoOwnerToken; private String oppoTrackingEndpoint; private boolean oppoCallbackRetryEnabled = false; private Duration oppoCallbackRetryInterval = Duration.ofSeconds(300); private int oppoCallbackRetryLimit = 100; private String oppoRedisStream = "adx:oppo:events"; private boolean oppoTagEventSyncEnabled = false; private Duration oppoTagEventSyncInterval = Duration.ofMinutes(5); private String oppoTagEventSyncRedisPrefix = "adx:oppo:tag-event:"; private String oppoOwnerId; private String oppoApiId; private String oppoApiKey; // Tencent API private String tencentApiBaseUrl = "https://api.e.qq.com/v3.0"; private String tencentAccessToken; private String tencentAccessTokenRedisKey; private long tencentAccountId; private long tencentAndroidUserActionSetId; private long tencentIosUserActionSetId; // Tencent Act Mapping: baiduAct -> tencentActionType private Map tencentActMap = new HashMap<>(); // Redis private String redisAddr = "127.0.0.1:6379"; private String redisUsername; private String redisPassword; private int redisDb = 0; private String redisStream = "adx:tencent:events"; private long redisStreamMaxLen = 50000; private Duration bidTtl = Duration.ofHours(36); private Duration redisConnectTimeout = Duration.ofSeconds(5); private Duration redisCommandTimeout = Duration.ofSeconds(5); private Duration redisShutdownTimeout = Duration.ofMillis(100); private boolean redisValidateConnection = true; // TiDB private String tidbUrl; private String tidbUsername; private String tidbPassword; private int tidbMinimumIdle = 2; private int tidbMaximumPoolSize = 10; private Duration tidbConnectionTimeout = Duration.ofSeconds(10); private Duration tidbValidationTimeout = Duration.ofSeconds(3); private Duration tidbIdleTimeout = Duration.ofMinutes(5); private Duration tidbMaxLifetime = Duration.ofMinutes(10); private Duration tidbKeepaliveTime = Duration.ofMinutes(2); private String reportDatabaseName = "adx_report"; private boolean adBidReportEnabled = false; private Duration adBidReportInterval = Duration.ofMinutes(5); private int adBidReportRetentionDays = 30; private int trackingReportRetentionDays = 3; private int adBidReportArchiveBatchSize = 5000; private int adBidReportArchiveMaxBatchesPerRun = 20; private List adBidReportStatsRunTimes = List.of("01:00", "10:00", "17:00"); private int adBidReportStatsLookbackDays = 7; // Task Lock private Duration taskLockTtl = Duration.ofSeconds(120); private Duration taskLockRenewInterval = Duration.ofSeconds(30); private Duration taskLockRetryInterval = Duration.ofSeconds(15); private boolean skipLeaderElection = false; // Worker private String workerGroup = "cold-writers"; private String workerConsumer = defaultHostname(); private int workerBatch = 100; // Conversion Sync private boolean conversionSyncEnabled = false; private Duration conversionSyncInterval = Duration.ofSeconds(300); private int conversionSyncDateOffsetDays = 0; private int conversionSyncPageSize = 1; private List conversionSyncActs = List.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 2001); // Callback Retry private boolean callbackRetryEnabled = false; private Duration callbackRetryInterval = Duration.ofSeconds(300); private int callbackRetryLimit = 100; // Tag Event Sync(广告位回传方式 -> Redis) private boolean tagEventSyncEnabled = false; private Duration tagEventSyncInterval = Duration.ofMinutes(5); private String tagEventSyncRedisPrefix = ""; private boolean accountTagEventSyncEnabled = false; private Duration accountTagEventSyncInterval = Duration.ofMinutes(5); private String accountTagEventSyncRedisPrefix = "adx:tencent:account-tag-event:"; private static String defaultHostname() { try { return java.net.InetAddress.getLocalHost().getHostName(); } catch (Exception e) { return "worker-1"; } } // ───── getters / setters ───── public String getPort() { return port; } public void setPort(String port) { this.port = port; } public String getBaiduAdxEndpoint() { return baiduAdxEndpoint; } public void setBaiduAdxEndpoint(String v) { this.baiduAdxEndpoint = v; } public String getBaiduConversionBaseUrl() { return baiduConversionBaseUrl; } public void setBaiduConversionBaseUrl(String v) { this.baiduConversionBaseUrl = v; } public String getBaiduCustomerName() { return baiduCustomerName; } public void setBaiduCustomerName(String v) { this.baiduCustomerName = v; } public String getBaiduSecret() { return baiduSecret; } public void setBaiduSecret(String v) { this.baiduSecret = v; } public String getBaiduAuctionPriceEncryption() { return baiduAuctionPriceEncryption; } public void setBaiduAuctionPriceEncryption(String v) { this.baiduAuctionPriceEncryption = v; } public String getBaiduAuctionPriceEKey() { return baiduAuctionPriceEKey; } public void setBaiduAuctionPriceEKey(String v) { this.baiduAuctionPriceEKey = v; } public String getBaiduAuctionPriceIKey() { return baiduAuctionPriceIKey; } public void setBaiduAuctionPriceIKey(String v) { this.baiduAuctionPriceIKey = v; } public long getBaiduMediaId() { return baiduMediaId; } public void setBaiduMediaId(long v) { this.baiduMediaId = v; } public String getBaiduAppId() { return baiduAppId; } public void setBaiduAppId(String v) { this.baiduAppId = v; } public String getBaiduTagId() { return baiduTagId; } public void setBaiduTagId(String v) { this.baiduTagId = v; } public String getBaiduAndroidAppId() { return baiduAndroidAppId; } public void setBaiduAndroidAppId(String v) { this.baiduAndroidAppId = v; } public String getBaiduIosAppId() { return baiduIosAppId; } public void setBaiduIosAppId(String v) { this.baiduIosAppId = v; } public long getBaiduBidFloor() { return baiduBidFloor; } public void setBaiduBidFloor(long v) { this.baiduBidFloor = v; } public int getBaiduActionType() { return baiduActionType; } public void setBaiduActionType(int v) { this.baiduActionType = v; } public int getBaiduTrackingMaxRedirects() { return baiduTrackingMaxRedirects; } public void setBaiduTrackingMaxRedirects(int v) { this.baiduTrackingMaxRedirects = v; } public int getBaiduTrackingMax500Retries() { return baiduTrackingMax500Retries; } public void setBaiduTrackingMax500Retries(int v) { this.baiduTrackingMax500Retries = v; } public boolean isRtaEnabled() { return rtaEnabled; } public void setRtaEnabled(boolean rtaEnabled) { this.rtaEnabled = rtaEnabled; } public String getRtaEndpoint() { return rtaEndpoint; } public void setRtaEndpoint(String rtaEndpoint) { this.rtaEndpoint = rtaEndpoint; } public Duration getRtaTimeout() { return rtaTimeout; } public void setRtaTimeout(Duration rtaTimeout) { this.rtaTimeout = rtaTimeout; } public String getRtaTuPrefix() { return rtaTuPrefix; } public void setRtaTuPrefix(String rtaTuPrefix) { this.rtaTuPrefix = rtaTuPrefix; } public String getRtaOrderRedisPrefix() { return rtaOrderRedisPrefix; } public void setRtaOrderRedisPrefix(String rtaOrderRedisPrefix) { this.rtaOrderRedisPrefix = rtaOrderRedisPrefix; } public Duration getRtaOrderCacheTtl() { return rtaOrderCacheTtl; } public void setRtaOrderCacheTtl(Duration rtaOrderCacheTtl) { this.rtaOrderCacheTtl = rtaOrderCacheTtl; } public boolean isRtaOrderSyncEnabled() { return rtaOrderSyncEnabled; } public void setRtaOrderSyncEnabled(boolean rtaOrderSyncEnabled) { this.rtaOrderSyncEnabled = rtaOrderSyncEnabled; } public Duration getRtaOrderSyncInterval() { return rtaOrderSyncInterval; } public void setRtaOrderSyncInterval(Duration rtaOrderSyncInterval) { this.rtaOrderSyncInterval = rtaOrderSyncInterval; } public String getHonorConversionBaseUrl() { return honorConversionBaseUrl; } public void setHonorConversionBaseUrl(String v) { this.honorConversionBaseUrl = v; } public String getHonorRedisStream() { return honorRedisStream; } public void setHonorRedisStream(String v) { this.honorRedisStream = v; } public String getHonorChannelId() { return honorChannelId; } public void setHonorChannelId(String v) { this.honorChannelId = v; } public boolean isHonorConversionSyncEnabled() { return honorConversionSyncEnabled; } public void setHonorConversionSyncEnabled(boolean v) { this.honorConversionSyncEnabled = v; } public Duration getHonorConversionSyncInterval() { return honorConversionSyncInterval; } public void setHonorConversionSyncInterval(Duration v) { this.honorConversionSyncInterval = v; } public int getHonorConversionSyncDateOffsetDays() { return honorConversionSyncDateOffsetDays; } public void setHonorConversionSyncDateOffsetDays(int v) { this.honorConversionSyncDateOffsetDays = v; } public int getHonorConversionSyncPageSize() { return honorConversionSyncPageSize; } public void setHonorConversionSyncPageSize(int v) { this.honorConversionSyncPageSize = v; } public List getHonorConversionSyncActs() { return honorConversionSyncActs; } public void setHonorConversionSyncActs(List v) { this.honorConversionSyncActs = v; } public boolean isHonorCallbackRetryEnabled() { return honorCallbackRetryEnabled; } public void setHonorCallbackRetryEnabled(boolean v) { this.honorCallbackRetryEnabled = v; } public Duration getHonorCallbackRetryInterval() { return honorCallbackRetryInterval; } public void setHonorCallbackRetryInterval(Duration v) { this.honorCallbackRetryInterval = v; } public int getHonorCallbackRetryLimit() { return honorCallbackRetryLimit; } public void setHonorCallbackRetryLimit(int v) { this.honorCallbackRetryLimit = v; } public boolean isHonorTagEventSyncEnabled() { return honorTagEventSyncEnabled; } public void setHonorTagEventSyncEnabled(boolean v) { this.honorTagEventSyncEnabled = v; } public Duration getHonorTagEventSyncInterval() { return honorTagEventSyncInterval; } public void setHonorTagEventSyncInterval(Duration v) { this.honorTagEventSyncInterval = v; } public String getHonorTagEventSyncRedisPrefix() { return honorTagEventSyncRedisPrefix; } public void setHonorTagEventSyncRedisPrefix(String v) { this.honorTagEventSyncRedisPrefix = v; } public String getKuaishouConversionBaseUrl() { return kuaishouConversionBaseUrl; } public void setKuaishouConversionBaseUrl(String v) { this.kuaishouConversionBaseUrl = v; } public String getKuaishouRedisStream() { return kuaishouRedisStream; } public void setKuaishouRedisStream(String v) { this.kuaishouRedisStream = v; } public boolean isKuaishouCallbackRetryEnabled() { return kuaishouCallbackRetryEnabled; } public void setKuaishouCallbackRetryEnabled(boolean v) { this.kuaishouCallbackRetryEnabled = v; } public Duration getKuaishouCallbackRetryInterval() { return kuaishouCallbackRetryInterval; } public void setKuaishouCallbackRetryInterval(Duration v) { this.kuaishouCallbackRetryInterval = v; } public int getKuaishouCallbackRetryLimit() { return kuaishouCallbackRetryLimit; } public void setKuaishouCallbackRetryLimit(int v) { this.kuaishouCallbackRetryLimit = v; } public boolean isKuaishouTagEventSyncEnabled() { return kuaishouTagEventSyncEnabled; } public void setKuaishouTagEventSyncEnabled(boolean v) { this.kuaishouTagEventSyncEnabled = v; } public Duration getKuaishouTagEventSyncInterval() { return kuaishouTagEventSyncInterval; } public void setKuaishouTagEventSyncInterval(Duration v) { this.kuaishouTagEventSyncInterval = v; } public String getKuaishouTagEventSyncRedisPrefix() { return kuaishouTagEventSyncRedisPrefix; } public void setKuaishouTagEventSyncRedisPrefix(String v) { this.kuaishouTagEventSyncRedisPrefix = v; } public String getVivoConversionBaseUrl() { return vivoConversionBaseUrl; } public void setVivoConversionBaseUrl(String v) { this.vivoConversionBaseUrl = v; } public String getVivoOauthBaseUrl() { return vivoOauthBaseUrl; } public void setVivoOauthBaseUrl(String v) { this.vivoOauthBaseUrl = v; } public String getVivoRedisStream() { return vivoRedisStream; } public void setVivoRedisStream(String v) { this.vivoRedisStream = v; } public boolean isVivoCallbackRetryEnabled() { return vivoCallbackRetryEnabled; } public void setVivoCallbackRetryEnabled(boolean v) { this.vivoCallbackRetryEnabled = v; } public Duration getVivoCallbackRetryInterval() { return vivoCallbackRetryInterval; } public void setVivoCallbackRetryInterval(Duration v) { this.vivoCallbackRetryInterval = v; } public int getVivoCallbackRetryLimit() { return vivoCallbackRetryLimit; } public void setVivoCallbackRetryLimit(int v) { this.vivoCallbackRetryLimit = v; } public boolean isVivoTagEventSyncEnabled() { return vivoTagEventSyncEnabled; } public void setVivoTagEventSyncEnabled(boolean v) { this.vivoTagEventSyncEnabled = v; } public Duration getVivoTagEventSyncInterval() { return vivoTagEventSyncInterval; } public void setVivoTagEventSyncInterval(Duration v) { this.vivoTagEventSyncInterval = v; } public String getVivoTagEventSyncRedisPrefix() { return vivoTagEventSyncRedisPrefix; } public void setVivoTagEventSyncRedisPrefix(String v) { this.vivoTagEventSyncRedisPrefix = v; } public String getVivoRedirectUri() { return vivoRedirectUri; } public void setVivoRedirectUri(String v) { this.vivoRedirectUri = v; } public String getVivoTokenRedisPrefix() { return vivoTokenRedisPrefix; } public void setVivoTokenRedisPrefix(String v) { this.vivoTokenRedisPrefix = v; } public boolean isVivoTokenRefreshEnabled() { return vivoTokenRefreshEnabled; } public void setVivoTokenRefreshEnabled(boolean v) { this.vivoTokenRefreshEnabled = v; } public Duration getVivoTokenRefreshInterval() { return vivoTokenRefreshInterval; } public void setVivoTokenRefreshInterval(Duration v) { this.vivoTokenRefreshInterval = v; } public Duration getVivoTokenRefreshAhead() { return vivoTokenRefreshAhead; } public void setVivoTokenRefreshAhead(Duration v) { this.vivoTokenRefreshAhead = v; } public boolean isVivoAdvertiserSyncEnabled() { return vivoAdvertiserSyncEnabled; } public void setVivoAdvertiserSyncEnabled(boolean v) { this.vivoAdvertiserSyncEnabled = v; } public Duration getVivoAdvertiserSyncInterval() { return vivoAdvertiserSyncInterval; } public void setVivoAdvertiserSyncInterval(Duration v) { this.vivoAdvertiserSyncInterval = v; } public String getVivoAdvertiserRedisPrefix() { return vivoAdvertiserRedisPrefix; } public void setVivoAdvertiserRedisPrefix(String v) { this.vivoAdvertiserRedisPrefix = v; } public String getOppoConversionEndpoint() { return oppoConversionEndpoint; } public void setOppoConversionEndpoint(String v) { this.oppoConversionEndpoint = v; } public String getOppoConversionSalt() { return oppoConversionSalt; } public void setOppoConversionSalt(String v) { this.oppoConversionSalt = v; } public String getOppoAesBase64Key() { return oppoAesBase64Key; } public void setOppoAesBase64Key(String v) { this.oppoAesBase64Key = v; } public String getOppoOwnerToken() { return oppoOwnerToken; } public void setOppoOwnerToken(String v) { this.oppoOwnerToken = v; } public String getOppoTrackingEndpoint() { return oppoTrackingEndpoint; } public void setOppoTrackingEndpoint(String v) { this.oppoTrackingEndpoint = v; } public boolean isOppoCallbackRetryEnabled() { return oppoCallbackRetryEnabled; } public void setOppoCallbackRetryEnabled(boolean v) { this.oppoCallbackRetryEnabled = v; } public Duration getOppoCallbackRetryInterval() { return oppoCallbackRetryInterval; } public void setOppoCallbackRetryInterval(Duration v) { this.oppoCallbackRetryInterval = v; } public int getOppoCallbackRetryLimit() { return oppoCallbackRetryLimit; } public void setOppoCallbackRetryLimit(int v) { this.oppoCallbackRetryLimit = v; } public String getOppoRedisStream() { return oppoRedisStream; } public void setOppoRedisStream(String v) { this.oppoRedisStream = v; } public boolean isOppoTagEventSyncEnabled() { return oppoTagEventSyncEnabled; } public void setOppoTagEventSyncEnabled(boolean v) { this.oppoTagEventSyncEnabled = v; } public Duration getOppoTagEventSyncInterval() { return oppoTagEventSyncInterval; } public void setOppoTagEventSyncInterval(Duration v) { this.oppoTagEventSyncInterval = v; } public String getOppoTagEventSyncRedisPrefix() { return oppoTagEventSyncRedisPrefix; } public void setOppoTagEventSyncRedisPrefix(String v) { this.oppoTagEventSyncRedisPrefix = v; } public String getOppoOwnerId() { return oppoOwnerId; } public void setOppoOwnerId(String v) { this.oppoOwnerId = v; } public String getOppoApiId() { return oppoApiId; } public void setOppoApiId(String v) { this.oppoApiId = v; } public String getOppoApiKey() { return oppoApiKey; } public void setOppoApiKey(String v) { this.oppoApiKey = v; } public String getTencentApiBaseUrl() { return tencentApiBaseUrl; } public void setTencentApiBaseUrl(String v) { this.tencentApiBaseUrl = v; } public String getTencentAccessToken() { return tencentAccessToken; } public void setTencentAccessToken(String v) { this.tencentAccessToken = v; } public String getTencentAccessTokenRedisKey() { return tencentAccessTokenRedisKey; } public void setTencentAccessTokenRedisKey(String v) { this.tencentAccessTokenRedisKey = v; } public long getTencentAccountId() { return tencentAccountId; } public void setTencentAccountId(long v) { this.tencentAccountId = v; } public long getTencentAndroidUserActionSetId() { return tencentAndroidUserActionSetId; } public void setTencentAndroidUserActionSetId(long v) { this.tencentAndroidUserActionSetId = v; } public long getTencentIosUserActionSetId() { return tencentIosUserActionSetId; } public void setTencentIosUserActionSetId(long v) { this.tencentIosUserActionSetId = v; } public Map getTencentActMap() { return tencentActMap; } public void setTencentActMap(Map v) { this.tencentActMap = v; } public String getRedisAddr() { return redisAddr; } public void setRedisAddr(String v) { this.redisAddr = v; } public String getRedisUsername() { return redisUsername; } public void setRedisUsername(String v) { this.redisUsername = v; } public String getRedisPassword() { return redisPassword; } public void setRedisPassword(String v) { this.redisPassword = v; } public int getRedisDb() { return redisDb; } public void setRedisDb(int v) { this.redisDb = v; } public String getRedisStream() { return redisStream; } public void setRedisStream(String v) { this.redisStream = v; } public long getRedisStreamMaxLen() { return redisStreamMaxLen; } public void setRedisStreamMaxLen(long v) { this.redisStreamMaxLen = v; } public Duration getBidTtl() { return bidTtl; } public void setBidTtl(Duration v) { this.bidTtl = v; } public Duration getRedisConnectTimeout() { return redisConnectTimeout; } public void setRedisConnectTimeout(Duration v) { this.redisConnectTimeout = v; } public Duration getRedisCommandTimeout() { return redisCommandTimeout; } public void setRedisCommandTimeout(Duration v) { this.redisCommandTimeout = v; } public Duration getRedisShutdownTimeout() { return redisShutdownTimeout; } public void setRedisShutdownTimeout(Duration v) { this.redisShutdownTimeout = v; } public boolean isRedisValidateConnection() { return redisValidateConnection; } public void setRedisValidateConnection(boolean v) { this.redisValidateConnection = v; } public String getTidbUrl() { return tidbUrl; } public void setTidbUrl(String v) { this.tidbUrl = v; } public String getTidbUsername() { return tidbUsername; } public void setTidbUsername(String v) { this.tidbUsername = v; } public String getTidbPassword() { return tidbPassword; } public void setTidbPassword(String v) { this.tidbPassword = v; } public int getTidbMinimumIdle() { return tidbMinimumIdle; } public void setTidbMinimumIdle(int v) { this.tidbMinimumIdle = v; } public int getTidbMaximumPoolSize() { return tidbMaximumPoolSize; } public void setTidbMaximumPoolSize(int v) { this.tidbMaximumPoolSize = v; } public Duration getTidbConnectionTimeout() { return tidbConnectionTimeout; } public void setTidbConnectionTimeout(Duration v) { this.tidbConnectionTimeout = v; } public Duration getTidbValidationTimeout() { return tidbValidationTimeout; } public void setTidbValidationTimeout(Duration v) { this.tidbValidationTimeout = v; } public Duration getTidbIdleTimeout() { return tidbIdleTimeout; } public void setTidbIdleTimeout(Duration v) { this.tidbIdleTimeout = v; } public Duration getTidbMaxLifetime() { return tidbMaxLifetime; } public void setTidbMaxLifetime(Duration v) { this.tidbMaxLifetime = v; } public Duration getTidbKeepaliveTime() { return tidbKeepaliveTime; } public void setTidbKeepaliveTime(Duration v) { this.tidbKeepaliveTime = v; } public String getReportDatabaseName() { return reportDatabaseName; } public void setReportDatabaseName(String v) { this.reportDatabaseName = v; } public boolean isAdBidReportEnabled() { return adBidReportEnabled; } public void setAdBidReportEnabled(boolean v) { this.adBidReportEnabled = v; } public Duration getAdBidReportInterval() { return adBidReportInterval; } public void setAdBidReportInterval(Duration v) { this.adBidReportInterval = v; } public int getAdBidReportRetentionDays() { return adBidReportRetentionDays; } public void setAdBidReportRetentionDays(int v) { this.adBidReportRetentionDays = v; } public int getTrackingReportRetentionDays() { return trackingReportRetentionDays; } public void setTrackingReportRetentionDays(int v) { this.trackingReportRetentionDays = v; } public int getAdBidReportArchiveBatchSize() { return adBidReportArchiveBatchSize; } public void setAdBidReportArchiveBatchSize(int v) { this.adBidReportArchiveBatchSize = v; } public int getAdBidReportArchiveMaxBatchesPerRun() { return adBidReportArchiveMaxBatchesPerRun; } public void setAdBidReportArchiveMaxBatchesPerRun(int v) { this.adBidReportArchiveMaxBatchesPerRun = v; } public List getAdBidReportStatsRunTimes() { return adBidReportStatsRunTimes; } public void setAdBidReportStatsRunTimes(List v) { this.adBidReportStatsRunTimes = v; } public int getAdBidReportStatsLookbackDays() { return adBidReportStatsLookbackDays; } public void setAdBidReportStatsLookbackDays(int v) { this.adBidReportStatsLookbackDays = v; } public Duration getTaskLockTtl() { return taskLockTtl; } public void setTaskLockTtl(Duration v) { this.taskLockTtl = v; } public Duration getTaskLockRenewInterval() { return taskLockRenewInterval; } public void setTaskLockRenewInterval(Duration v) { this.taskLockRenewInterval = v; } public Duration getTaskLockRetryInterval() { return taskLockRetryInterval; } public void setTaskLockRetryInterval(Duration v) { this.taskLockRetryInterval = v; } public boolean isSkipLeaderElection() { return skipLeaderElection; } public void setSkipLeaderElection(boolean v) { this.skipLeaderElection = v; } public String getWorkerGroup() { return workerGroup; } public void setWorkerGroup(String v) { this.workerGroup = v; } public String getWorkerConsumer() { return workerConsumer; } public void setWorkerConsumer(String v) { this.workerConsumer = v; } public int getWorkerBatch() { return workerBatch; } public void setWorkerBatch(int v) { this.workerBatch = v; } public boolean isConversionSyncEnabled() { return conversionSyncEnabled; } public void setConversionSyncEnabled(boolean v) { this.conversionSyncEnabled = v; } public Duration getConversionSyncInterval() { return conversionSyncInterval; } public void setConversionSyncInterval(Duration v) { this.conversionSyncInterval = v; } public int getConversionSyncDateOffsetDays() { return conversionSyncDateOffsetDays; } public void setConversionSyncDateOffsetDays(int v) { this.conversionSyncDateOffsetDays = v; } public int getConversionSyncPageSize() { return conversionSyncPageSize; } public void setConversionSyncPageSize(int v) { this.conversionSyncPageSize = v; } public List getConversionSyncActs() { return conversionSyncActs; } public void setConversionSyncActs(List v) { this.conversionSyncActs = v; } public boolean isCallbackRetryEnabled() { return callbackRetryEnabled; } public void setCallbackRetryEnabled(boolean v) { this.callbackRetryEnabled = v; } public Duration getCallbackRetryInterval() { return callbackRetryInterval; } public void setCallbackRetryInterval(Duration v) { this.callbackRetryInterval = v; } public int getCallbackRetryLimit() { return callbackRetryLimit; } public void setCallbackRetryLimit(int v) { this.callbackRetryLimit = v; } public boolean isTagEventSyncEnabled() { return tagEventSyncEnabled; } public void setTagEventSyncEnabled(boolean v) { this.tagEventSyncEnabled = v; } public Duration getTagEventSyncInterval() { return tagEventSyncInterval; } public void setTagEventSyncInterval(Duration v) { this.tagEventSyncInterval = v; } public String getTagEventSyncRedisPrefix() { return tagEventSyncRedisPrefix; } public void setTagEventSyncRedisPrefix(String v) { this.tagEventSyncRedisPrefix = v; } public boolean isAccountTagEventSyncEnabled() { return accountTagEventSyncEnabled; } public void setAccountTagEventSyncEnabled(boolean v) { this.accountTagEventSyncEnabled = v; } public Duration getAccountTagEventSyncInterval() { return accountTagEventSyncInterval; } public void setAccountTagEventSyncInterval(Duration v) { this.accountTagEventSyncInterval = v; } public String getAccountTagEventSyncRedisPrefix() { return accountTagEventSyncRedisPrefix; } public void setAccountTagEventSyncRedisPrefix(String v) { this.accountTagEventSyncRedisPrefix = v; } }