fix: 星之界扫码允许老xq账号通过本俱乐部管事码注册

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
XingQue
2026-07-08 18:31:14 +08:00
parent e0c48073f1
commit d025287785

View File

@@ -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, ''