package com.nanri.aiimage.modules.productrisk.model.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * 与 Python 队列约定字段对齐，供前端原样推入 enqueue_json。
 */
@Data
@Schema(description = "单店匹配结果（队列项）：与 /match-shops 及创建任务请求 items 元素结构一致，可嵌入队列 JSON data.items")
public class ProductRiskShopQueueItemVo {

    @JsonProperty("shopName")
    @Schema(description = "店铺名称", example = "某某店")
    private String shopName;

    @Schema(description = "是否命中紫鸟索引；false 时不可用于创建任务")
    private boolean matched;

    @JsonProperty("shopId")
    @Schema(description = "紫鸟侧店铺 ID（字符串），未命中时可能为空")
    private String shopId;

    @Schema(description = "平台，如 亚马逊", example = "亚马逊")
    private String platform;

    @JsonProperty("companyName")
    @Schema(description = "公司名称或主体标识")
    private String companyName;

    @JsonProperty("openStoreUrl")
    @Schema(description = "打开店铺的地址（由 Python 侧消费）")
    private String openStoreUrl;

    @JsonProperty("matchedUserId")
    @Schema(description = "索引关联到的用户 ID（若有）")
    private Long matchedUserId;

    @JsonProperty("matchStatus")
    @Schema(
            description = "匹配状态码：如 MATCHED、PENDING、CONFLICT、INDEX_STALE 等，以后端为准。")
    private String matchStatus;

    @JsonProperty("matchMessage")
    @Schema(description = "人类可读说明，供前端展示")
    private String matchMessage;
}
