diff --git a/product_management/core.py b/product_management/core.py index 2bd6778..4da0e6b 100644 --- a/product_management/core.py +++ b/product_management/core.py @@ -1464,9 +1464,10 @@ class ProductManager: if not user_id: user_id = await env.get_user() if not user_org_id: - user_org_id = await env.get_userorgid() if hasattr(env, 'get_userorgid') \ - else self._get_current_org_id() - user_org_id = user_org_id or '0' + fn = getattr(env, 'get_userorgid', None) + if callable(fn): + user_org_id = await fn() + user_org_id = user_org_id or self._get_current_org_id() or '0' quantity = int(quantity or 1) storage_gb = float(storage_gb or 0) diff --git a/wwwroot/storefront/api/purchase_realtime.dspy b/wwwroot/storefront/api/purchase_realtime.dspy index 61b7727..b813612 100644 --- a/wwwroot/storefront/api/purchase_realtime.dspy +++ b/wwwroot/storefront/api/purchase_realtime.dspy @@ -13,9 +13,11 @@ try: raise Exception('缺少产品ID') env = ServerEnv() + user_org_id = (await get_userorgid()) or '0' r = await env.purchase_realtime( product_id=product_id, user_id=userid, + user_org_id=user_org_id, charge_mode=params_kw.get('charge_mode') or None, quantity=int(params_kw.get('quantity', 1) or 1), storage_gb=float(params_kw.get('storage_gb', 0) or 0),