-- 店铺授权 + 店铺订单种子(CustomerId = 9) -- 可重复执行:已存在则跳过 -- 用法: -- 1) mysql -u root -p oms < sql/migrate_t_sales_store_order_recipient.sql -- 2) mysql -u root -p oms < sql/seed_sales_store_customer9.sql -- -- 注意:ConcurrencyStamp 必须是合法 Guid 字符串;空串会导致 -- 「ConcurrencyStamp绑定到SalesStoreOrder失败」 SET NAMES utf8mb4; -- 先修好已有脏数据(空串 / 非 36 位) UPDATE `t_sales_store` SET `ConcurrencyStamp` = UUID() WHERE `ConcurrencyStamp` IS NULL OR TRIM(`ConcurrencyStamp`) = '' OR LENGTH(TRIM(`ConcurrencyStamp`)) <> 36; UPDATE `t_sales_store_order` SET `ConcurrencyStamp` = UUID() WHERE `ConcurrencyStamp` IS NULL OR TRIM(`ConcurrencyStamp`) = '' OR LENGTH(TRIM(`ConcurrencyStamp`)) <> 36; UPDATE `t_sales_store_order_line` SET `ConcurrencyStamp` = UUID() WHERE `ConcurrencyStamp` IS NULL OR TRIM(`ConcurrencyStamp`) = '' OR LENGTH(TRIM(`ConcurrencyStamp`)) <> 36; -- --------------------------------------------------------------------------- -- 1. 店铺授权 t_sales_store(4 个平台,覆盖 active/expired) -- --------------------------------------------------------------------------- INSERT INTO `t_sales_store` ( `CustomerId`, `PlatformCode`, `StoreNickname`, `PlatformStoreId`, `PlatformAccount`, `SiteCountry`, `SellerId`, `AuthStatus`, `AuthTime`, `TokenExpireTime`, `RefreshExpireTime`, `AccessToken`, `RefreshToken`, `IsAutoFulfill`, `Remark`, `IsDeleted`, `ConcurrencyStamp`, `CreateUserId`, `CreateTime` ) SELECT 9, 'shopee', '种子-Shopee旗舰店', 'SEED9-SHOPEE-001', 'seed9.shopee@demo.com', 'SG', 'SELLER-SHOPEE-9001', 'active', DATE_SUB(NOW(), INTERVAL 30 DAY), DATE_ADD(NOW(), INTERVAL 60 DAY), DATE_ADD(NOW(), INTERVAL 180 DAY), 'seed_access_token_shopee_9', 'seed_refresh_token_shopee_9', 1, 'CustomerId=9 种子店铺', 0, UUID(), 0, NOW() WHERE NOT EXISTS ( SELECT 1 FROM `t_sales_store` WHERE `CustomerId` = 9 AND `PlatformStoreId` = 'SEED9-SHOPEE-001' AND `IsDeleted` = 0 ); INSERT INTO `t_sales_store` ( `CustomerId`, `PlatformCode`, `StoreNickname`, `PlatformStoreId`, `PlatformAccount`, `SiteCountry`, `SellerId`, `AuthStatus`, `AuthTime`, `TokenExpireTime`, `RefreshExpireTime`, `AccessToken`, `RefreshToken`, `IsAutoFulfill`, `Remark`, `IsDeleted`, `ConcurrencyStamp`, `CreateUserId`, `CreateTime` ) SELECT 9, 'lazada', '种子-Lazada马来店', 'SEED9-LAZADA-001', 'seed9.lazada@demo.com', 'MY', 'SELLER-LAZADA-9002', 'active', DATE_SUB(NOW(), INTERVAL 14 DAY), DATE_ADD(NOW(), INTERVAL 45 DAY), DATE_ADD(NOW(), INTERVAL 120 DAY), 'seed_access_token_lazada_9', 'seed_refresh_token_lazada_9', 0, 'CustomerId=9 种子店铺', 0, UUID(), 0, NOW() WHERE NOT EXISTS ( SELECT 1 FROM `t_sales_store` WHERE `CustomerId` = 9 AND `PlatformStoreId` = 'SEED9-LAZADA-001' AND `IsDeleted` = 0 ); INSERT INTO `t_sales_store` ( `CustomerId`, `PlatformCode`, `StoreNickname`, `PlatformStoreId`, `PlatformAccount`, `SiteCountry`, `SellerId`, `AuthStatus`, `AuthTime`, `TokenExpireTime`, `RefreshExpireTime`, `AccessToken`, `RefreshToken`, `IsAutoFulfill`, `Remark`, `IsDeleted`, `ConcurrencyStamp`, `CreateUserId`, `CreateTime` ) SELECT 9, 'tiktok', '种子-TikTok跨境店', 'SEED9-TIKTOK-001', 'seed9.tiktok@demo.com', 'US', 'SELLER-TIKTOK-9003', 'active', DATE_SUB(NOW(), INTERVAL 7 DAY), DATE_ADD(NOW(), INTERVAL 30 DAY), DATE_ADD(NOW(), INTERVAL 90 DAY), 'seed_access_token_tiktok_9', 'seed_refresh_token_tiktok_9', 1, 'CustomerId=9 种子店铺', 0, UUID(), 0, NOW() WHERE NOT EXISTS ( SELECT 1 FROM `t_sales_store` WHERE `CustomerId` = 9 AND `PlatformStoreId` = 'SEED9-TIKTOK-001' AND `IsDeleted` = 0 ); INSERT INTO `t_sales_store` ( `CustomerId`, `PlatformCode`, `StoreNickname`, `PlatformStoreId`, `PlatformAccount`, `SiteCountry`, `SellerId`, `AuthStatus`, `AuthTime`, `TokenExpireTime`, `RefreshExpireTime`, `AccessToken`, `RefreshToken`, `IsAutoFulfill`, `Remark`, `IsDeleted`, `ConcurrencyStamp`, `CreateUserId`, `CreateTime` ) SELECT 9, 'temu', '种子-Temu美区店(已过期)', 'SEED9-TEMU-001', 'seed9.temu@demo.com', 'US', 'SELLER-TEMU-9004', 'expired', DATE_SUB(NOW(), INTERVAL 90 DAY), DATE_SUB(NOW(), INTERVAL 5 DAY), DATE_SUB(NOW(), INTERVAL 1 DAY), 'seed_access_token_temu_9_expired', 'seed_refresh_token_temu_9_expired', 0, 'CustomerId=9 种子店铺-授权过期', 0, UUID(), 0, NOW() WHERE NOT EXISTS ( SELECT 1 FROM `t_sales_store` WHERE `CustomerId` = 9 AND `PlatformStoreId` = 'SEED9-TEMU-001' AND `IsDeleted` = 0 ); -- --------------------------------------------------------------------------- -- 2. 店铺订单 t_sales_store_order(覆盖各履约状态) -- --------------------------------------------------------------------------- -- pending INSERT INTO `t_sales_store_order` ( `CustomerId`, `StoreId`, `PlatformCode`, `PlatformOrderNo`, `OrderCountry`, `ItemCount`, `TotalAmount`, `Currency`, `PlatformOrderTime`, `FulfillStatus`, `PlatformStatus`, `PlatformStatusLabel`, `IsMultiLabel`, `IsSuspended`, `LastSyncTime`, `IsDeleted`, `CreateUserId`, `CreateTime` ) SELECT 9, s.`Id`, 'shopee', 'SEED9-ORD-SHOPEE-P001', 'SG', 2, 45.8000, 'SGD', DATE_SUB(NOW(), INTERVAL 2 HOUR), 'pending', 'UNPAID', '待付款', 0, 0, NOW(), 0, 0, NOW() FROM `t_sales_store` s WHERE s.`CustomerId` = 9 AND s.`PlatformStoreId` = 'SEED9-SHOPEE-001' AND s.`IsDeleted` = 0 AND NOT EXISTS ( SELECT 1 FROM `t_sales_store_order` o WHERE o.`StoreId` = s.`Id` AND o.`PlatformOrderNo` = 'SEED9-ORD-SHOPEE-P001' AND o.`IsDeleted` = 0 ); -- toShip INSERT INTO `t_sales_store_order` ( `CustomerId`, `StoreId`, `PlatformCode`, `PlatformOrderNo`, `OrderCountry`, `ItemCount`, `TotalAmount`, `Currency`, `PlatformOrderTime`, `FulfillStatus`, `PlatformStatus`, `PlatformStatusLabel`, `IsMultiLabel`, `CustomTags`, `IsSuspended`, `LastSyncTime`, `IsDeleted`, `CreateUserId`, `CreateTime` ) SELECT 9, s.`Id`, 'shopee', 'SEED9-ORD-SHOPEE-T001', 'SG', 1, 28.5000, 'SGD', DATE_SUB(NOW(), INTERVAL 1 DAY), 'toShip', 'READY_TO_SHIP', '待发货', 0, '急单', 0, NOW(), 0, 0, NOW() FROM `t_sales_store` s WHERE s.`CustomerId` = 9 AND s.`PlatformStoreId` = 'SEED9-SHOPEE-001' AND s.`IsDeleted` = 0 AND NOT EXISTS ( SELECT 1 FROM `t_sales_store_order` o WHERE o.`StoreId` = s.`Id` AND o.`PlatformOrderNo` = 'SEED9-ORD-SHOPEE-T001' AND o.`IsDeleted` = 0 ); -- shipped INSERT INTO `t_sales_store_order` ( `CustomerId`, `StoreId`, `PlatformCode`, `PlatformOrderNo`, `OrderCountry`, `ItemCount`, `TotalAmount`, `Currency`, `PlatformOrderTime`, `FulfillStatus`, `PlatformStatus`, `PlatformStatusLabel`, `ShippingLabelNo`, `ShippingLabelUrl`, `IsMultiLabel`, `IsSuspended`, `LastSyncTime`, `IsDeleted`, `CreateUserId`, `CreateTime` ) SELECT 9, s.`Id`, 'lazada', 'SEED9-ORD-LAZADA-S001', 'MY', 3, 129.9000, 'MYR', DATE_SUB(NOW(), INTERVAL 3 DAY), 'shipped', 'SHIPPED', '已发货', 'LZD-LABEL-90001', 'https://example.com/labels/lzd-90001.pdf', 0, 0, NOW(), 0, 0, NOW() FROM `t_sales_store` s WHERE s.`CustomerId` = 9 AND s.`PlatformStoreId` = 'SEED9-LAZADA-001' AND s.`IsDeleted` = 0 AND NOT EXISTS ( SELECT 1 FROM `t_sales_store_order` o WHERE o.`StoreId` = s.`Id` AND o.`PlatformOrderNo` = 'SEED9-ORD-LAZADA-S001' AND o.`IsDeleted` = 0 ); -- completed INSERT INTO `t_sales_store_order` ( `CustomerId`, `StoreId`, `PlatformCode`, `PlatformOrderNo`, `OrderCountry`, `ItemCount`, `TotalAmount`, `Currency`, `PlatformOrderTime`, `FulfillStatus`, `PlatformStatus`, `PlatformStatusLabel`, `ShippingLabelNo`, `IsMultiLabel`, `IsSuspended`, `LastSyncTime`, `IsDeleted`, `CreateUserId`, `CreateTime` ) SELECT 9, s.`Id`, 'tiktok', 'SEED9-ORD-TIKTOK-C001', 'US', 1, 19.9900, 'USD', DATE_SUB(NOW(), INTERVAL 10 DAY), 'completed', 'COMPLETED', '已完成', 'TT-LABEL-90002', 0, 0, NOW(), 0, 0, NOW() FROM `t_sales_store` s WHERE s.`CustomerId` = 9 AND s.`PlatformStoreId` = 'SEED9-TIKTOK-001' AND s.`IsDeleted` = 0 AND NOT EXISTS ( SELECT 1 FROM `t_sales_store_order` o WHERE o.`StoreId` = s.`Id` AND o.`PlatformOrderNo` = 'SEED9-ORD-TIKTOK-C001' AND o.`IsDeleted` = 0 ); -- canceled INSERT INTO `t_sales_store_order` ( `CustomerId`, `StoreId`, `PlatformCode`, `PlatformOrderNo`, `OrderCountry`, `ItemCount`, `TotalAmount`, `Currency`, `PlatformOrderTime`, `FulfillStatus`, `PlatformStatus`, `PlatformStatusLabel`, `IsMultiLabel`, `IsSuspended`, `LastSyncTime`, `IsDeleted`, `CreateUserId`, `CreateTime` ) SELECT 9, s.`Id`, 'tiktok', 'SEED9-ORD-TIKTOK-X001', 'US', 2, 35.5000, 'USD', DATE_SUB(NOW(), INTERVAL 5 DAY), 'canceled', 'CANCELLED', '已取消', 0, 0, NOW(), 0, 0, NOW() FROM `t_sales_store` s WHERE s.`CustomerId` = 9 AND s.`PlatformStoreId` = 'SEED9-TIKTOK-001' AND s.`IsDeleted` = 0 AND NOT EXISTS ( SELECT 1 FROM `t_sales_store_order` o WHERE o.`StoreId` = s.`Id` AND o.`PlatformOrderNo` = 'SEED9-ORD-TIKTOK-X001' AND o.`IsDeleted` = 0 ); -- suspended INSERT INTO `t_sales_store_order` ( `CustomerId`, `StoreId`, `PlatformCode`, `PlatformOrderNo`, `OrderCountry`, `ItemCount`, `TotalAmount`, `Currency`, `PlatformOrderTime`, `FulfillStatus`, `PlatformStatus`, `PlatformStatusLabel`, `IsMultiLabel`, `CustomTags`, `IsSuspended`, `LastSyncTime`, `IsDeleted`, `CreateUserId`, `CreateTime` ) SELECT 9, s.`Id`, 'lazada', 'SEED9-ORD-LAZADA-H001', 'MY', 1, 59.0000, 'MYR', DATE_SUB(NOW(), INTERVAL 4 DAY), 'suspended', 'PENDING', '待处理', 0, '缺货搁置', 1, NOW(), 0, 0, NOW() FROM `t_sales_store` s WHERE s.`CustomerId` = 9 AND s.`PlatformStoreId` = 'SEED9-LAZADA-001' AND s.`IsDeleted` = 0 AND NOT EXISTS ( SELECT 1 FROM `t_sales_store_order` o WHERE o.`StoreId` = s.`Id` AND o.`PlatformOrderNo` = 'SEED9-ORD-LAZADA-H001' AND o.`IsDeleted` = 0 ); -- toShip(多件) INSERT INTO `t_sales_store_order` ( `CustomerId`, `StoreId`, `PlatformCode`, `PlatformOrderNo`, `OrderCountry`, `ItemCount`, `TotalAmount`, `Currency`, `PlatformOrderTime`, `FulfillStatus`, `PlatformStatus`, `PlatformStatusLabel`, `IsMultiLabel`, `IsSuspended`, `LastSyncTime`, `IsDeleted`, `CreateUserId`, `CreateTime` ) SELECT 9, s.`Id`, 'shopee', 'SEED9-ORD-SHOPEE-T002', 'PH', 2, 88.0000, 'PHP', DATE_SUB(NOW(), INTERVAL 6 HOUR), 'toShip', 'READY_TO_SHIP', '待发货', 1, 0, NOW(), 0, 0, NOW() FROM `t_sales_store` s WHERE s.`CustomerId` = 9 AND s.`PlatformStoreId` = 'SEED9-SHOPEE-001' AND s.`IsDeleted` = 0 AND NOT EXISTS ( SELECT 1 FROM `t_sales_store_order` o WHERE o.`StoreId` = s.`Id` AND o.`PlatformOrderNo` = 'SEED9-ORD-SHOPEE-T002' AND o.`IsDeleted` = 0 ); -- --------------------------------------------------------------------------- -- 3. 订单明细 t_sales_store_order_line -- --------------------------------------------------------------------------- -- SEED9-ORD-SHOPEE-P001 两行 INSERT INTO `t_sales_store_order_line` ( `StoreOrderId`, `PlatformLineId`, `PlatformSku`, `ProductName`, `ProductImageUrl`, `VariantText`, `UnitPrice`, `Quantity`, `Currency`, `IsShipExcluded`, `IsDeleted`, `CreateUserId`, `CreateTime` ) SELECT o.`Id`, 'LINE-P001-1', 'SKU-PHONE-CASE-01', '硅胶手机壳', 'https://example.com/img/phone-case.jpg', '颜色:黑色;型号:iPhone15', 18.9000, 1, 'SGD', 0, 0, 0, NOW() FROM `t_sales_store_order` o WHERE o.`CustomerId` = 9 AND o.`PlatformOrderNo` = 'SEED9-ORD-SHOPEE-P001' AND o.`IsDeleted` = 0 AND NOT EXISTS ( SELECT 1 FROM `t_sales_store_order_line` l WHERE l.`StoreOrderId` = o.`Id` AND l.`PlatformLineId` = 'LINE-P001-1' AND l.`IsDeleted` = 0 ); INSERT INTO `t_sales_store_order_line` ( `StoreOrderId`, `PlatformLineId`, `PlatformSku`, `ProductName`, `ProductImageUrl`, `VariantText`, `UnitPrice`, `Quantity`, `Currency`, `IsShipExcluded`, `IsDeleted`, `CreateUserId`, `CreateTime` ) SELECT o.`Id`, 'LINE-P001-2', 'SKU-CABLE-USB-C', 'USB-C 数据线 1m', 'https://example.com/img/usb-c.jpg', '长度:1m', 26.9000, 1, 'SGD', 0, 0, 0, NOW() FROM `t_sales_store_order` o WHERE o.`CustomerId` = 9 AND o.`PlatformOrderNo` = 'SEED9-ORD-SHOPEE-P001' AND o.`IsDeleted` = 0 AND NOT EXISTS ( SELECT 1 FROM `t_sales_store_order_line` l WHERE l.`StoreOrderId` = o.`Id` AND l.`PlatformLineId` = 'LINE-P001-2' AND l.`IsDeleted` = 0 ); -- SEED9-ORD-SHOPEE-T001 INSERT INTO `t_sales_store_order_line` ( `StoreOrderId`, `PlatformLineId`, `PlatformSku`, `ProductName`, `ProductImageUrl`, `VariantText`, `UnitPrice`, `Quantity`, `Currency`, `IsShipExcluded`, `IsDeleted`, `CreateUserId`, `CreateTime` ) SELECT o.`Id`, 'LINE-T001-1', 'SKU-EARBUD-PRO', '无线蓝牙耳机 Pro', 'https://example.com/img/earbud.jpg', '颜色:白色', 28.5000, 1, 'SGD', 0, 0, 0, NOW() FROM `t_sales_store_order` o WHERE o.`CustomerId` = 9 AND o.`PlatformOrderNo` = 'SEED9-ORD-SHOPEE-T001' AND o.`IsDeleted` = 0 AND NOT EXISTS ( SELECT 1 FROM `t_sales_store_order_line` l WHERE l.`StoreOrderId` = o.`Id` AND l.`PlatformLineId` = 'LINE-T001-1' AND l.`IsDeleted` = 0 ); -- SEED9-ORD-LAZADA-S001 三行 INSERT INTO `t_sales_store_order_line` ( `StoreOrderId`, `PlatformLineId`, `PlatformSku`, `ProductName`, `ProductImageUrl`, `VariantText`, `UnitPrice`, `Quantity`, `Currency`, `IsShipExcluded`, `IsDeleted`, `CreateUserId`, `CreateTime` ) SELECT o.`Id`, 'LINE-S001-1', 'SKU-TSHIRT-M', '纯棉短袖 T 恤', 'https://example.com/img/tshirt.jpg', '尺码:M;颜色:藏青', 29.9000, 2, 'MYR', 0, 0, 0, NOW() FROM `t_sales_store_order` o WHERE o.`CustomerId` = 9 AND o.`PlatformOrderNo` = 'SEED9-ORD-LAZADA-S001' AND o.`IsDeleted` = 0 AND NOT EXISTS ( SELECT 1 FROM `t_sales_store_order_line` l WHERE l.`StoreOrderId` = o.`Id` AND l.`PlatformLineId` = 'LINE-S001-1' AND l.`IsDeleted` = 0 ); INSERT INTO `t_sales_store_order_line` ( `StoreOrderId`, `PlatformLineId`, `PlatformSku`, `ProductName`, `ProductImageUrl`, `VariantText`, `UnitPrice`, `Quantity`, `Currency`, `IsShipExcluded`, `IsDeleted`, `CreateUserId`, `CreateTime` ) SELECT o.`Id`, 'LINE-S001-2', 'SKU-SOCK-PACK', '运动短袜 3 双装', 'https://example.com/img/socks.jpg', '颜色:混色', 19.9000, 1, 'MYR', 0, 0, 0, NOW() FROM `t_sales_store_order` o WHERE o.`CustomerId` = 9 AND o.`PlatformOrderNo` = 'SEED9-ORD-LAZADA-S001' AND o.`IsDeleted` = 0 AND NOT EXISTS ( SELECT 1 FROM `t_sales_store_order_line` l WHERE l.`StoreOrderId` = o.`Id` AND l.`PlatformLineId` = 'LINE-S001-2' AND l.`IsDeleted` = 0 ); INSERT INTO `t_sales_store_order_line` ( `StoreOrderId`, `PlatformLineId`, `PlatformSku`, `ProductName`, `ProductImageUrl`, `VariantText`, `UnitPrice`, `Quantity`, `Currency`, `IsShipExcluded`, `IsDeleted`, `CreateUserId`, `CreateTime` ) SELECT o.`Id`, 'LINE-S001-3', 'SKU-CAP-BLK', '棒球帽', 'https://example.com/img/cap.jpg', '颜色:黑色', 50.2000, 1, 'MYR', 0, 0, 0, NOW() FROM `t_sales_store_order` o WHERE o.`CustomerId` = 9 AND o.`PlatformOrderNo` = 'SEED9-ORD-LAZADA-S001' AND o.`IsDeleted` = 0 AND NOT EXISTS ( SELECT 1 FROM `t_sales_store_order_line` l WHERE l.`StoreOrderId` = o.`Id` AND l.`PlatformLineId` = 'LINE-S001-3' AND l.`IsDeleted` = 0 ); -- SEED9-ORD-TIKTOK-C001 INSERT INTO `t_sales_store_order_line` ( `StoreOrderId`, `PlatformLineId`, `PlatformSku`, `ProductName`, `ProductImageUrl`, `VariantText`, `UnitPrice`, `Quantity`, `Currency`, `IsShipExcluded`, `IsDeleted`, `CreateUserId`, `CreateTime` ) SELECT o.`Id`, 'LINE-C001-1', 'SKU-LED-STRIP', 'LED 灯带 5m', 'https://example.com/img/led.jpg', '色温:暖白', 19.9900, 1, 'USD', 0, 0, 0, NOW() FROM `t_sales_store_order` o WHERE o.`CustomerId` = 9 AND o.`PlatformOrderNo` = 'SEED9-ORD-TIKTOK-C001' AND o.`IsDeleted` = 0 AND NOT EXISTS ( SELECT 1 FROM `t_sales_store_order_line` l WHERE l.`StoreOrderId` = o.`Id` AND l.`PlatformLineId` = 'LINE-C001-1' AND l.`IsDeleted` = 0 ); -- SEED9-ORD-TIKTOK-X001 INSERT INTO `t_sales_store_order_line` ( `StoreOrderId`, `PlatformLineId`, `PlatformSku`, `ProductName`, `ProductImageUrl`, `VariantText`, `UnitPrice`, `Quantity`, `Currency`, `IsShipExcluded`, `IsDeleted`, `CreateUserId`, `CreateTime` ) SELECT o.`Id`, 'LINE-X001-1', 'SKU-MOUSE-PAD', '加大鼠标垫', 'https://example.com/img/mousepad.jpg', '尺寸:900x400', 15.5000, 1, 'USD', 0, 0, 0, NOW() FROM `t_sales_store_order` o WHERE o.`CustomerId` = 9 AND o.`PlatformOrderNo` = 'SEED9-ORD-TIKTOK-X001' AND o.`IsDeleted` = 0 AND NOT EXISTS ( SELECT 1 FROM `t_sales_store_order_line` l WHERE l.`StoreOrderId` = o.`Id` AND l.`PlatformLineId` = 'LINE-X001-1' AND l.`IsDeleted` = 0 ); INSERT INTO `t_sales_store_order_line` ( `StoreOrderId`, `PlatformLineId`, `PlatformSku`, `ProductName`, `ProductImageUrl`, `VariantText`, `UnitPrice`, `Quantity`, `Currency`, `IsShipExcluded`, `IsDeleted`, `CreateUserId`, `CreateTime` ) SELECT o.`Id`, 'LINE-X001-2', 'SKU-KEYCAP-SET', '键帽套装 104 键', 'https://example.com/img/keycap.jpg', '风格:布丁', 20.0000, 1, 'USD', 1, 0, 0, NOW() FROM `t_sales_store_order` o WHERE o.`CustomerId` = 9 AND o.`PlatformOrderNo` = 'SEED9-ORD-TIKTOK-X001' AND o.`IsDeleted` = 0 AND NOT EXISTS ( SELECT 1 FROM `t_sales_store_order_line` l WHERE l.`StoreOrderId` = o.`Id` AND l.`PlatformLineId` = 'LINE-X001-2' AND l.`IsDeleted` = 0 ); -- SEED9-ORD-LAZADA-H001 INSERT INTO `t_sales_store_order_line` ( `StoreOrderId`, `PlatformLineId`, `PlatformSku`, `ProductName`, `ProductImageUrl`, `VariantText`, `UnitPrice`, `Quantity`, `Currency`, `IsShipExcluded`, `IsDeleted`, `CreateUserId`, `CreateTime` ) SELECT o.`Id`, 'LINE-H001-1', 'SKU-POWERBANK-20K', '移动电源 20000mAh', 'https://example.com/img/powerbank.jpg', '颜色:灰色', 59.0000, 1, 'MYR', 0, 0, 0, NOW() FROM `t_sales_store_order` o WHERE o.`CustomerId` = 9 AND o.`PlatformOrderNo` = 'SEED9-ORD-LAZADA-H001' AND o.`IsDeleted` = 0 AND NOT EXISTS ( SELECT 1 FROM `t_sales_store_order_line` l WHERE l.`StoreOrderId` = o.`Id` AND l.`PlatformLineId` = 'LINE-H001-1' AND l.`IsDeleted` = 0 ); -- SEED9-ORD-SHOPEE-T002 两行 INSERT INTO `t_sales_store_order_line` ( `StoreOrderId`, `PlatformLineId`, `PlatformSku`, `ProductName`, `ProductImageUrl`, `VariantText`, `UnitPrice`, `Quantity`, `Currency`, `IsShipExcluded`, `IsDeleted`, `CreateUserId`, `CreateTime` ) SELECT o.`Id`, 'LINE-T002-1', 'SKU-BAG-TOTE', '帆布托特包', 'https://example.com/img/tote.jpg', '颜色:米白', 48.0000, 1, 'PHP', 0, 0, 0, NOW() FROM `t_sales_store_order` o WHERE o.`CustomerId` = 9 AND o.`PlatformOrderNo` = 'SEED9-ORD-SHOPEE-T002' AND o.`IsDeleted` = 0 AND NOT EXISTS ( SELECT 1 FROM `t_sales_store_order_line` l WHERE l.`StoreOrderId` = o.`Id` AND l.`PlatformLineId` = 'LINE-T002-1' AND l.`IsDeleted` = 0 ); INSERT INTO `t_sales_store_order_line` ( `StoreOrderId`, `PlatformLineId`, `PlatformSku`, `ProductName`, `ProductImageUrl`, `VariantText`, `UnitPrice`, `Quantity`, `Currency`, `IsShipExcluded`, `IsDeleted`, `CreateUserId`, `CreateTime` ) SELECT o.`Id`, 'LINE-T002-2', 'SKU-WALLET-MINI', '迷你卡包', 'https://example.com/img/wallet.jpg', '颜色:棕色', 40.0000, 1, 'PHP', 0, 0, 0, NOW() FROM `t_sales_store_order` o WHERE o.`CustomerId` = 9 AND o.`PlatformOrderNo` = 'SEED9-ORD-SHOPEE-T002' AND o.`IsDeleted` = 0 AND NOT EXISTS ( SELECT 1 FROM `t_sales_store_order_line` l WHERE l.`StoreOrderId` = o.`Id` AND l.`PlatformLineId` = 'LINE-T002-2' AND l.`IsDeleted` = 0 ); -- --------------------------------------------------------------------------- -- 4. 补齐收件人(需先执行 migrate_t_sales_store_order_recipient.sql) -- --------------------------------------------------------------------------- UPDATE `t_sales_store_order` SET `RecipientName` = 'Tan Wei Ming', `RecipientCompany` = NULL, `RecipientPhone` = '+65-91234567', `RecipientEmail` = 'tan.wm@example.com', `RecipientCountry` = 'SG', `RecipientProvince` = 'Singapore', `RecipientCity` = 'Singapore', `RecipientZipCode` = '018956', `RecipientAddress1` = '10 Bayfront Avenue, Marina Bay Sands', `RecipientAddress2` = 'Tower 1 #12-01', `PlatformExtraJson` = JSON_OBJECT( 'recipient', JSON_OBJECT( 'recipientsName', 'Tan Wei Ming', 'phone', '+65-91234567', 'email', 'tan.wm@example.com', 'countryCode', 'SG', 'province', 'Singapore', 'city', 'Singapore', 'zipCode', '018956', 'streetAddress1', '10 Bayfront Avenue, Marina Bay Sands', 'streetAddress2', 'Tower 1 #12-01' ) ) WHERE `CustomerId` = 9 AND `PlatformOrderNo` = 'SEED9-ORD-SHOPEE-P001' AND `IsDeleted` = 0 AND (`RecipientName` IS NULL OR `RecipientName` = ''); UPDATE `t_sales_store_order` SET `RecipientName` = 'Lim Jia Hui', `RecipientPhone` = '+65-98887766', `RecipientCountry` = 'SG', `RecipientProvince` = 'Singapore', `RecipientCity` = 'Singapore', `RecipientZipCode` = '238801', `RecipientAddress1` = '313 Orchard Road', `PlatformExtraJson` = JSON_OBJECT( 'recipient', JSON_OBJECT( 'recipientsName', 'Lim Jia Hui', 'phone', '+65-98887766', 'countryCode', 'SG', 'city', 'Singapore', 'zipCode', '238801', 'streetAddress1', '313 Orchard Road' ) ) WHERE `CustomerId` = 9 AND `PlatformOrderNo` = 'SEED9-ORD-SHOPEE-T001' AND `IsDeleted` = 0 AND (`RecipientName` IS NULL OR `RecipientName` = ''); UPDATE `t_sales_store_order` SET `RecipientName` = 'Ahmad Faizal', `RecipientPhone` = '+60-12-3456789', `RecipientCountry` = 'MY', `RecipientProvince` = 'Selangor', `RecipientCity` = 'Petaling Jaya', `RecipientZipCode` = '47800', `RecipientAddress1` = 'No. 18, Jalan SS2/24', `PlatformExtraJson` = JSON_OBJECT( 'recipient', JSON_OBJECT( 'recipientsName', 'Ahmad Faizal', 'phone', '+60-12-3456789', 'countryCode', 'MY', 'province', 'Selangor', 'city', 'Petaling Jaya', 'zipCode', '47800', 'streetAddress1', 'No. 18, Jalan SS2/24' ) ) WHERE `CustomerId` = 9 AND `PlatformOrderNo` IN ('SEED9-ORD-LAZADA-S001', 'SEED9-ORD-LAZADA-H001') AND `IsDeleted` = 0 AND (`RecipientName` IS NULL OR `RecipientName` = ''); UPDATE `t_sales_store_order` SET `RecipientName` = 'John Smith', `RecipientPhone` = '+1-415-555-0198', `RecipientEmail` = 'john.smith@example.com', `RecipientCountry` = 'US', `RecipientProvince` = 'CA', `RecipientCity` = 'San Francisco', `RecipientZipCode` = '94105', `RecipientAddress1` = '1 Market St, Suite 300', `PlatformExtraJson` = JSON_OBJECT( 'recipient', JSON_OBJECT( 'recipientsName', 'John Smith', 'phone', '+1-415-555-0198', 'email', 'john.smith@example.com', 'countryCode', 'US', 'province', 'CA', 'city', 'San Francisco', 'zipCode', '94105', 'streetAddress1', '1 Market St, Suite 300' ) ) WHERE `CustomerId` = 9 AND `PlatformOrderNo` IN ('SEED9-ORD-TIKTOK-C001', 'SEED9-ORD-TIKTOK-X001') AND `IsDeleted` = 0 AND (`RecipientName` IS NULL OR `RecipientName` = ''); UPDATE `t_sales_store_order` SET `RecipientName` = 'Maria Santos', `RecipientPhone` = '+63-917-123-4567', `RecipientCountry` = 'PH', `RecipientProvince` = 'Metro Manila', `RecipientCity` = 'Makati', `RecipientZipCode` = '1226', `RecipientAddress1` = 'Ayala Avenue, Glorietta 4', `PlatformExtraJson` = JSON_OBJECT( 'recipient', JSON_OBJECT( 'recipientsName', 'Maria Santos', 'phone', '+63-917-123-4567', 'countryCode', 'PH', 'province', 'Metro Manila', 'city', 'Makati', 'zipCode', '1226', 'streetAddress1', 'Ayala Avenue, Glorietta 4' ) ) WHERE `CustomerId` = 9 AND `PlatformOrderNo` = 'SEED9-ORD-SHOPEE-T002' AND `IsDeleted` = 0 AND (`RecipientName` IS NULL OR `RecipientName` = ''); -- 校验摘要(执行后可看) SELECT 't_sales_store' AS tbl, COUNT(*) AS cnt FROM `t_sales_store` WHERE `CustomerId` = 9 AND `IsDeleted` = 0 UNION ALL SELECT 't_sales_store_order', COUNT(*) FROM `t_sales_store_order` WHERE `CustomerId` = 9 AND `IsDeleted` = 0 UNION ALL SELECT 't_sales_store_order_with_recipient', COUNT(*) FROM `t_sales_store_order` WHERE `CustomerId` = 9 AND `IsDeleted` = 0 AND `RecipientName` IS NOT NULL AND `RecipientName` <> '' UNION ALL SELECT 't_sales_store_order_line', COUNT(*) FROM `t_sales_store_order_line` l INNER JOIN `t_sales_store_order` o ON o.`Id` = l.`StoreOrderId` WHERE o.`CustomerId` = 9 AND o.`IsDeleted` = 0 AND l.`IsDeleted` = 0;