"""邀请码 / 邀请链俱乐部隔离。""" from jituan.constants import CLUB_ID_DEFAULT from jituan.services.club_resolver import resolve_club_id_for_wechat_request from jituan.services.club_user import resolve_invite_party_club def assert_invite_same_club(request, inviter_user, invitee_user=None): """ 校验邀请人与被邀请人属于同一俱乐部,且与请求 club 一致。 未归属俱乐部的被邀请人允许在本小程序完成首次注册。 返回 (ok, message) """ club_id = resolve_club_id_for_wechat_request(request) inviter_club = resolve_invite_party_club(inviter_user, club_id) if inviter_club is None and club_id == CLUB_ID_DEFAULT: inviter_club = CLUB_ID_DEFAULT if inviter_club != club_id: return False, '邀请码不属于当前小程序俱乐部' 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: return False, '您的账号归属与当前小程序不一致,请使用对应俱乐部小程序' if invitee_club is not None and invitee_club != inviter_club: return False, '邀请码与您的俱乐部不匹配' return True, ''