package com.pig4cloud.pig.marketing.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;

/**
 * 推送校验配置
 * 
 * @author WCL
 * @date 2025-09-03
 * @description 推送功能相关配置
 */
@Data
@Component
@RefreshScope
@ConfigurationProperties(prefix = "push.validation")
public class PushValidationConfig {

    /**
     * 是否启用IP校验
     */
    private Boolean enableIpCheck = true;

    /**
     * 是否启用地址校验
     */
    private Boolean enableAddressCheck = true;

    /**
     * 是否启用应用校验
     */
    private Boolean enableAppCheck = true;

	/**
	 * 是否启用应用校验
	 */
	private Boolean enableBundleCheck = true;

    /**
     * 是否启用域名校验
     */
    private Boolean enableDomainCheck = true;

    /**
     * 是否启用频率校验
     */
    private Boolean enableFrequencyCheck = true;

    /**
     * IP定位配置
     */
    private IpLocation ipLocation = new IpLocation();

    @Data
    public static class IpLocation {
        /**
         * 是否启用IP定位（使用项目内部的ip2region数据库）
         */
        private Boolean enabled = true;

        /**
         * 是否启用缓存
         */
        private Boolean enableCache = true;

        /**
         * 缓存过期时间（秒）
         */
        private Integer cacheExpireSeconds = 3600;
    }
}
