From d0252877853a7ff796aeba5e5547eda0d45e973e Mon Sep 17 00:00:00 2001 From: XingQue Date: Wed, 8 Jul 2026 18:31:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=98=9F=E4=B9=8B=E7=95=8C=E6=89=AB?= =?UTF-8?q?=E7=A0=81=E5=85=81=E8=AE=B8=E8=80=81xq=E8=B4=A6=E5=8F=B7?= =?UTF-8?q?=E9=80=9A=E8=BF=87=E6=9C=AC=E4=BF=B1=E4=B9=90=E9=83=A8=E7=AE=A1?= =?UTF-8?q?=E4=BA=8B=E7=A0=81=E6=B3=A8=E5=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- jituan/services/invite_guard.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/jituan/services/invite_guard.py b/jituan/services/invite_guard.py index a1f6b2f..8e53b11 100644 --- a/jituan/services/invite_guard.py +++ b/jituan/services/invite_guard.py @@ -36,14 +36,17 @@ def assert_invite_same_club(request, inviter_user, invitee_user=None): if invitee_user is not None: invitee_club = resolve_invite_party_club(invitee_user, club_id) if invitee_club is not None and invitee_club != club_id: - # 老用户 ClubID 可能是 xq,但扫的是本俱乐部管事码:允许注册并回写 ClubID - if not _invitee_has_club_binding(invitee_user, club_id) and inviter_club != club_id: + # 仅在「管事码也不属于当前小程序」且「用户已绑定别俱乐部 wx」时拒绝 + if ( + inviter_club != club_id + and _invitee_has_club_binding(invitee_user, invitee_club) + and not _invitee_has_club_binding(invitee_user, club_id) + ): logger.warning( 'invite_guard 被邀请人俱乐部不符 invitee=%s invitee_club=%s req_club=%s', getattr(invitee_user, 'UserUID', '?'), invitee_club, club_id, ) return False, '您的账号归属与当前小程序不一致,请使用对应俱乐部小程序' - if invitee_club is not None and invitee_club != inviter_club: - return False, '邀请码与您的俱乐部不匹配' + # 管事码已证明属于当前小程序时,允许老 xq 账号在 xzj 完成注册(注册后写 ClubID) return True, ''