package com.nanri.aiimage.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

@Data
@ConfigurationProperties(prefix = "aiimage.ziniao")
public class ZiniaoProperties {
    private boolean enabled;
    private String baseUrl;
    private String apiKey;
    private String appId;
    private String appSecret;
    private Long companyId;
    private String appTokenPath;
    private String staffListPath;
    private String userStoresPath;
    private String userLoginTokenPath;
    private String openStoreScheme;
    private String openStoreUserId;
    private String openStoreLaunchUrl;
    private Boolean openStoreAutoOpen;
    private Integer openStoreDebugPort;
    private Boolean openStoreNotPromptForDownload;
    private String openStoreForceDownloadPath;
    private String openStoreExtraArgs;
    private long sessionTtlHours;
    private long shopsCacheMinutes;
    private int connectTimeoutSeconds;
    private int readTimeoutSeconds;

    /**
     * 店铺匹配时最多尝试多少个 apiKey；
     * null/空/<=0 表示不限制（不推荐）。
     */
    private Integer keyScanMaxKeys;

    /**
     * 店铺匹配时最多扫描多少秒；
     * null/空/<=0 表示不限制（不推荐）。
     */
    private Integer keyScanMaxSeconds;

    /**
     * 店铺索引后台刷新 cron。
     */
    private String shopIndexRefreshCron;

    /**
     * 店铺索引条目保鲜分钟数。
     */
    private Integer shopIndexFreshMinutes;

    /**
     * 店铺索引条目 TTL 小时数。
     */
    private Integer shopIndexEntryTtlHours;

    /**
     * 每次索引刷新最多扫描多少个 apiKey；
     * null/空/<=0 表示不限制（不推荐）。
     */
    private Integer shopIndexRefreshBatchSize;
}
