import logging logger = logging.getLogger(__name__) import time import random class Source2Adapter: """ Adapter for interacting with Backup Source 2 (e.g. Pinduoduo/1688 Alternate). """ def __init__(self): self.is_mock = True def map_shopify_sku(self, shopify_sku: str, shopify_title: str = "") -> dict: if self.is_mock: logger.info(f"🔄 [SOURCE 2] (MOCK) Semantically mapping '{shopify_sku}'...") time.sleep(1.0) return { "supplier_id": f"sup_s2_{random.randint(1000, 9999)}", "variant_id": f"var_s2_{random.randint(10000, 99999)}", "confidence": random.uniform(85.0, 95.0), "mapped_attributes": ["通用版", "标准款"] } def create_draft_order(self, variant_id: str, quantity: int, address: dict) -> dict: if self.is_mock: logger.info(f"🛒 [SOURCE 2] (MOCK) Preparing draft order for Variant {variant_id}") time.sleep(1.5) mock_order_id = f"S2-{random.randint(100000, 999999)}" logger.info(f"✅ [SOURCE 2] Successfully drafted Order #{mock_order_id}. Status: AWAITING_PAYMENT") return { "status": "AWAITING_PAYMENT", "order_id": mock_order_id, "variant_id": variant_id, "quantity": quantity, "estimated_shipping_cny": 0.00 }