"""邀请码 / 邀请链俱乐部隔离。"""
from jituan.services.club_context import resolve_club_id_from_request
from jituan.services.club_user import get_user_club_id


def assert_invite_same_club(request, inviter_user, invitee_user=None):
    """
    校验邀请人与被邀请人属于同一俱乐部，且与请求 club 一致。
    现网全部 xq 时行为与改造前一致。
    返回 (ok, message)
    """
    club_id = resolve_club_id_from_request(request)
    inviter_club = get_user_club_id(inviter_user)
    if inviter_club != club_id:
        return False, '邀请码不属于当前小程序俱乐部'

    if invitee_user is not None:
        invitee_club = get_user_club_id(invitee_user)
        if invitee_club != club_id:
            return False, '您的账号归属与当前小程序不一致，请使用对应俱乐部小程序'
        if invitee_club != inviter_club:
            return False, '邀请码与您的俱乐部不匹配'

    return True, ''
