source_product_id = params_kw.get("source_product_id", "") supplier_org_id = params_kw.get("supplier_org_id", "") relation_id = params_kw.get("relation_id", "") supply_price = params_kw.get("supply_price", "0") min_order_qty = params_kw.get("min_order_qty", "1") if not all([source_product_id, supplier_org_id, relation_id]): return json.dumps({"status": "error", "message": "source_product_id, supplier_org_id, relation_id are required"}) user_org_id = await get_userorgid() new_id = getID() now = curDateString() + " " + timestampstr()[:8] async with get_sor_context(request._run_ns, 'sage') as sor: prod = await sor.sqlExe("SELECT category_id FROM product WHERE id = ${pid}$", {"pid": source_product_id}) cat_id = prod[0].category_id if prod else "" await sor.sqlExe(""" INSERT INTO product_supplier_mapping (id, product_id, product_category_id, supplier_type, supplier_org_id, buyer_org_id, supply_price, min_order_qty, status, relation_id, created_at) VALUES (${id}$, ${product_id}$, ${category_id}$, 'internal', ${supplier_org_id}$, ${buyer_org_id}$, ${supply_price}$, ${min_order_qty}$, '1', ${relation_id}$, ${created_at}$) """, { "id": new_id, "product_id": source_product_id, "category_id": cat_id, "supplier_org_id": supplier_org_id, "buyer_org_id": user_org_id, "supply_price": supply_price, "min_order_qty": min_order_qty, "relation_id": relation_id, "created_at": now }) return json.dumps({"status": "ok", "message": "产品引入成功", "id": new_id})