-- ============================================================================
-- SNKRDUNK 日本站 爬虫建表脚本
-- 变更日期 2026/07/22
-- 表1 snkrdunk_jp_used_item      : 二手出品 / 商品信息（列表页 + 详情页）
-- 表2 snkrdunk_jp_trading_history : 买卖历史（交易记录）
-- 说明：字段名一律按原意翻译，避开 MySQL 保留字（如 condition/status 已改名）
-- ============================================================================

-- ------------------------------ 表1：商品信息 ------------------------------
CREATE TABLE IF NOT EXISTS `snkrdunk_jp_used_item` (
  `id`                        BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  `apparel_id`                BIGINT       NOT NULL                COMMENT '商品(款式)ID，URL 中 /apparels/{apparel_id}',
  `used_item_id`              BIGINT       NOT NULL                COMMENT '二手出品ID，URL 中 /used/{used_item_id}',
  `product_id`                BIGINT       DEFAULT NULL            COMMENT '商品目录ID(catalog)，交易记录接口用的就是它',
  `product_number`            VARCHAR(128) DEFAULT NULL            COMMENT '品番，如 pkmn-tcg-M-P-133',
  `name_ja`                   VARCHAR(512) DEFAULT NULL            COMMENT '商品名(日文)',
  `name_en`                   VARCHAR(512) DEFAULT NULL            COMMENT '商品名(英文)',
  `brand_id`                  VARCHAR(64)  DEFAULT NULL            COMMENT '品牌ID，如 pokemon',
  `brand_name`                VARCHAR(255) DEFAULT NULL            COMMENT '品牌名(日文)',
  `category_name`             VARCHAR(255) DEFAULT NULL            COMMENT '类目(日文)，如 トレカ (シングルカード)',
  `quantity_text`             VARCHAR(32)  DEFAULT NULL            COMMENT '枚数，如 1枚',
  `condition_grade`           VARCHAR(32)  DEFAULT NULL            COMMENT '品相/评级，A/B/C/D/PSA10/BGS9.5/ARS10 等',
  `condition_desc`            VARCHAR(255) DEFAULT NULL            COMMENT '品相完整描述，如 B（小さなキズ/ソリがある品）',
  `price`                     INT          DEFAULT NULL            COMMENT '售价(日元)',
  `sale_status`               INT          DEFAULT NULL            COMMENT '出品状态码，0=出品中/入札中，4=取引完了(已售)',
  `sale_status_text`          VARCHAR(64)  DEFAULT NULL            COMMENT '出品状态文本，如 取引完了',
  `is_sold`                   TINYINT(1)   DEFAULT NULL            COMMENT '是否已售，1=SOLD，0=在售',
  `primary_image_url`         VARCHAR(512) DEFAULT NULL            COMMENT '主图URL',
  `image_urls`                TEXT         DEFAULT NULL            COMMENT '全部图片URL，多个用英文逗号(,)分割',
  `detail_url`                VARCHAR(512) DEFAULT NULL            COMMENT '详情页URL',
  `released_at`               DATETIME     DEFAULT NULL            COMMENT '发售时间(已转为北京时间 UTC+8)',
  `data_source`               VARCHAR(16)  DEFAULT NULL            COMMENT '数据来源：list=列表页，detail=详情页',
  `gmt_create_time`           DATETIME     DEFAULT CURRENT_TIMESTAMP                          COMMENT '创建时间',
  `gmt_modified_time`         DATETIME     DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  UNIQUE KEY `uk_apparel_used` (`apparel_id`, `used_item_id`),
  KEY `idx_product` (`product_id`),
  KEY `idx_is_sold` (`is_sold`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='SNKRDUNK日本站 商品信息';

-- ------------------------------ 表2：买卖历史(交易记录) ------------------------------
CREATE TABLE IF NOT EXISTS `snkrdunk_jp_trading_history` (
  `id`                BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  `product_id`        BIGINT       NOT NULL       COMMENT '商品目录ID(catalog)',
  `apparel_id`        BIGINT       DEFAULT NULL   COMMENT '关联的商品(款式)ID',
  `product_number`    VARCHAR(128) DEFAULT NULL   COMMENT '品番，如 pkmn-tcg-M-P-133',
  `sold_price`        INT          NOT NULL       COMMENT '成交价(日元)',
  `condition_grade`   VARCHAR(32)  DEFAULT NULL   COMMENT '成交时品相/评级，A/B/C/D/PSA10 等',
  `quantity_text`     VARCHAR(32)  DEFAULT NULL   COMMENT '枚数，如 1枚',
  `sold_at`               DATETIME              DEFAULT NULL COMMENT '成交时间(已转为北京时间 UTC+8，与现有管线 trading_at 一致)',
  `trade_index_in_second` TINYINT UNSIGNED      NOT NULL DEFAULT 0 COMMENT '同 (product_id, sold_at, 价格, 品相, 枚数) 签名内的位序 0/1/2..，用于区分同秒的多笔真实重复成交',
  `gmt_create_time`       DATETIME              DEFAULT CURRENT_TIMESTAMP                          COMMENT '创建时间',
  `gmt_modified_time`     DATETIME              DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  UNIQUE KEY `uk_trade` (`product_id`, `sold_at`, `sold_price`, `condition_grade`, `quantity_text`, `trade_index_in_second`),
  KEY `idx_sold_at` (`sold_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='SNKRDUNK日本站 买卖历史(交易记录)';
