package cn.qihangerp.service.external.sph;

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

/**
 * 微信视频号小店（platform=WEIXIN）发品相关开关与端点；应用级密钥由调用方经 {@code sphPopAuth} 传入，与拼多多一致。
 *
 * @author guochengyu
 */
@Data
@ConfigurationProperties(prefix = "external.sph")
public class ExternalSphProperties {

    /**
     * 是否在 upsert 落库后尝试调用微信小店发品适配。
     */
    private boolean publishEnabled = false;

    /**
     * 图片上传接口（不含 query）；文档默认 {@code https://api.weixin.qq.com/shop/ec/basics/img/upload}。
     */
    private String imageUploadUrl = "https://api.weixin.qq.com/shop/ec/basics/img/upload";

    /**
     * 添加商品 {@code channels.ec.product.add}。
     */
    private String productAddUrl = "https://api.weixin.qq.com/channels/ec/product/add";

    /**
     * 更新商品 {@code channels.ec.product.update}。
     */
    private String productUpdateUrl = "https://api.weixin.qq.com/channels/ec/product/update";

    /**
     * 类目推荐（product_classify）：{@code channels.ec.product.category.classify}。
     */
    private String productClassifyUrl = "https://api.weixin.qq.com/channels/ec/product/category/classify";

    /**
     * 新类目树叶子类目 ID（本期固定）；对应请求体 {@code cats_v2}。
     */
    private long fixedLeafCatIdV2 = 537901187L;

    /**
     * 主图最少张数（普通类目文档为 3；食品饮料等为 4，可按联调调整）。
     */
    private int minHeadImages = 3;

    /**
     * 添加/更新后是否 {@code listing=1}（提审并上架流程，减少分步竞态）。
     */
    private int listingOnSave = 1;

    /**
     * HTTP 读超时（秒）。
     */
    private int httpReadTimeoutSeconds = 90;

    /**
     * 运费模板 ID（可选）；非空则写入 {@code express_info.template_id}。
     */
    private String expressTemplateId;
}
