fix: 星之界扫码允许老xq账号通过本俱乐部管事码注册
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -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, ''
|
||||
|
||||
Reference in New Issue
Block a user