From fe2a3a6ab1f25c274ecefa16044a6d701ded9b8a Mon Sep 17 00:00:00 2001 From: yumoqing Date: Mon, 17 Aug 2026 15:51:32 +0800 Subject: [PATCH] =?UTF-8?q?fix(rbac):=20=E5=9B=BA=E5=8C=96=E9=9D=9E?= =?UTF-8?q?=E4=BF=83=E9=94=80=E7=A0=81=E6=B3=A8=E5=86=8C=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E8=87=AA=E7=94=B1=E5=AE=A2=E6=88=B7=E5=BD=92=E5=B1=9E=E8=AE=B0?= =?UTF-8?q?=E5=BD=95(bind=5Ftype=3D3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wwwroot/user/register.dspy | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/wwwroot/user/register.dspy b/wwwroot/user/register.dspy index 538588a..14801e1 100644 --- a/wwwroot/user/register.dspy +++ b/wwwroot/user/register.dspy @@ -48,6 +48,27 @@ async with db.sqlorContext(dbname) as sor: debug(f'register: customer {orgid} bound via promo_code {promo_code_id}') except Exception as e: exception(f'register: bind_customer failed for {orgid} via {promo_code_id}: {e}') + else: + # 非促销码注册: 创建自由客户归属记录 (bind_type=3 域名注册) + try: + reseller_id = parentid or '0' + async with DBPools().sqlorContext('discount') as disc_sor: + existing = await disc_sor.sqlExe( + 'SELECT id FROM discount_customer_bind WHERE customerid = ${cid}$', + {'cid': orgid} + ) + if not existing: + await disc_sor.C('discount_customer_bind', { + 'id': getID(), + 'customerid': orgid, + 'resellerid': reseller_id, + 'sale_id': None, + 'promo_code_id': None, + 'bind_type': '3', + }) + debug(f'register: free customer {orgid} bind created (reseller={reseller_id})') + except Exception as e: + exception(f'register: create free customer bind failed for {orgid}: {e}') # 注册成功后自动登录 await remember_user(user.id, username=user.username, userorgid=user.orgid)