-- =====================================================================================
-- 淘宝/通用电商商品参数数据更新 (Taobao-like Product Attributes Update)
-- 适用于：服饰、数码、美妆、家居等通用电商场景
-- 字段存储在 ml_products 表的 attributes JSONB 列中
-- =====================================================================================

-- 1. 清理现有属性（可选，如果想保留旧数据请注释掉此行）
-- UPDATE public.ml_products SET attributes = '{}'::jsonb;

-- 2. 这里的更新逻辑分为几类，根据商品名称关键字进行匹配。
--    如果没有匹配到关键字，将应用“通用默认参数”。

-------------------------------------------------------
-- A. 服饰鞋包类 (Clothing & Shoes)
-- 匹配词：T恤, 裙, 裤, 衬衫, 外套, 鞋, 帽, 包, 衣
-------------------------------------------------------
UPDATE public.ml_products
SET attributes = attributes || jsonb_build_object(
    'brand', '优选品牌',
    'material', '纯棉/聚酯纤维',
    'season', '四季通用',
    'style', '休闲百搭',
    'origin', '中国',
    'safety_category', 'B类 (直接接触皮肤)',
    'washing_instructions', '常规水洗，不可漂白'
)
WHERE name ~ 'T恤|裙|裤|衬衫|外套|鞋|帽|包|衣';

-------------------------------------------------------
-- B. 数码家电类 (Digital & Electronics)
-- 匹配词：手机, 电脑, 相机, 耳机, 壳, 膜, 充电器, 智能
-------------------------------------------------------
UPDATE public.ml_products
SET attributes = attributes || jsonb_build_object(
    'brand', '科技先锋',
    'model', 'Gen-X Pro',
    'color', '黑色',
    'warranty', '全国联保1年',
    'origin', '中国大陆',
    'production_date', '2023年',
    '3c_certificate', '2023011606555555'
)
WHERE name ~ '手机|电脑|相机|耳机|壳|膜|充电器|智能|表';

-------------------------------------------------------
-- C. 美妆护肤类 (Beauty & Skincare)
-- 匹配词：霜, 乳, 水, 面膜, 口红, 粉底, 香水, 洗面奶
-------------------------------------------------------
UPDATE public.ml_products
SET attributes = attributes || jsonb_build_object(
    'brand', 'BeautyStar',
    'specification', '正常规格',
    'origin', '法国/中国',
    'shelf_life', '3年',
    'skin_type', '所有肤质',
    'efficacy', '保湿, 补水, 提亮肤色',
    'ingredients', '水, 甘油, 透明质酸'
)
WHERE name ~ '霜|乳|水|面膜|口红|粉底|香水|洗面奶';

-------------------------------------------------------
-- D. 食品百货类 (Food & Groceries)
-- 匹配词：零食, 坚果, 茶, 酒, 奶, 饼干, 面, 油
-------------------------------------------------------
UPDATE public.ml_products
SET attributes = attributes || jsonb_build_object(
    'brand', '美味日记',
    'net_weight', '500g',
    'origin', '中国',
    'shelf_life', '12个月',
    'storage_method', '置于阴凉干燥处',
    'production_license', 'SC10100000000000',
    'ingredients', '小麦粉, 白砂糖, 植物油'
)
WHERE name ~ '零食|坚果|茶|酒|奶|饼干|面|油';

-------------------------------------------------------
-- E. 通用保底更新 (Fallback)
-- 对没有任何属性的商品，应用通用电商属性
-------------------------------------------------------
UPDATE public.ml_products
SET attributes = jsonb_build_object(
    'brand', '严选',
    'specification', '标准规格',
    'origin', '中国',
    'gross_weight', '0.5kg',
    'after_sales', '7天无理由退换'
)
WHERE attributes IS NULL OR attributes = '{}'::jsonb;

-- 验证数据
-- SELECT name, attributes FROM public.ml_products LIMIT 10;
