order_deal 不再 make_aware 入库以免 MySQL 报错;龙先生打手注册成功时创建管事且邀请人与打手相同。 Co-authored-by: Cursor <cursoragent@cursor.com>
47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
"""龙先生(lxs):打手注册成功时同步开通管事。
|
||
|
||
管事邀请人 = 打手邀请人(邀请该用户的管事 UID)。
|
||
其它俱乐部不处理。
|
||
"""
|
||
from __future__ import annotations
|
||
|
||
import logging
|
||
|
||
from utils.invitationcode_utils import CreateInvitationCode
|
||
|
||
logger = logging.getLogger(__name__)
|
||
|
||
LXS_CLUB_ID = 'lxs'
|
||
|
||
|
||
def ensure_lxs_guanshi_on_dashou_register(user, inviter_uid, club_id):
|
||
"""
|
||
仅 club_id=lxs:若尚无管事身份则创建。
|
||
返回新建或已有的 UserGuanshi;非 lxs / 参数不全则返回 None。
|
||
"""
|
||
from users.models import UserGuanshi
|
||
|
||
if (club_id or '').strip() != LXS_CLUB_ID:
|
||
return None
|
||
if not user:
|
||
return None
|
||
|
||
existing = UserGuanshi.query.filter(user=user).first()
|
||
if existing:
|
||
return existing
|
||
|
||
inviter = (inviter_uid or '').strip()[:7] or None
|
||
yaoqingma = CreateInvitationCode(str(user.UserUID))
|
||
profile = UserGuanshi.query.create(
|
||
user=user,
|
||
yaoqingma=yaoqingma,
|
||
yaoqingren=inviter,
|
||
)
|
||
logger.info(
|
||
'lxs 打手注册同步开通管事 uid=%s yaoqingren=%s yaoqingma=%s',
|
||
getattr(user, 'UserUID', ''),
|
||
inviter,
|
||
yaoqingma,
|
||
)
|
||
return profile
|