Files
Django/jituan/services/invite_guard.py

25 lines
984 B
Python

"""邀请码 / 邀请链俱乐部隔离。"""
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, ''