package cn.qihangerp.model.vo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * /external/goods/upsert 同步返回：本地落库 + 可选拼多多发布结果。
 *
 * @author guochengyu
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ExternalGoodsUpsertResultVo implements Serializable {

    private Long goodsId;

    /** 是否尝试调用拼多多上架 */
    private Boolean pddPublishAttempted;

    /** 拼多多上架是否成功（未尝试时为 null） */
    private Boolean pddPublishSuccess;

    /** 说明或错误摘要 */
    private String pddPublishMessage;

    /** 拼多多网关响应片段（便于排错） */
    private String pddResponseSnippet;

    /**
     * 拼多多侧商品 ID（{@code goods_add_response.goods_id}）；与 {@link #goodsId}（ERP 本地 {@code o_goods.id}）不同。
     */
    private Long pddGoodsId;

    /** {@code GOODS_ADD} / {@code SALE_STATUS_SET}（与拼多多发布链路一致） */
    private String pddPublishLane;

    // ---- 店铺凭证与自动拉取类目/spec（仅 platform=PDD 时有意义） ----

    /** REQUEST（请求体 pddPopAuth）/ NONE；与 {@code o_shop} 无关 */
    private String shopCredentialSource;

    private Boolean pddCatRuleFetched;
    /** pdd.goods.cat.rule.get 响应片段 */
    private String pddCatRuleSnippet;

    /** 是否通过 spec.id.get 自动生成了 sku 规格 */
    private Boolean pddSpecAutoResolved;
    private String pddAutoResolveDetail;
}
