fix: 打手登录先认身份,默认邀请码改由后端下发
This commit is contained in:
47
jituan/services/default_invite.py
Normal file
47
jituan/services/default_invite.py
Normal file
@@ -0,0 +1,47 @@
|
||||
"""俱乐部默认打手邀请码(一键登录无扫码时使用)。"""
|
||||
import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
CONFIG_KEY = 'default_dashou_invite'
|
||||
|
||||
# 与 club_migrate.CLUB_MIGRATE_DEFAULT_GUANSHI_INVITE 保持同步(无 config_json 时回落)
|
||||
_FALLBACK_DEFAULT_INVITE = {
|
||||
'lxs': '0000008VfJKPu4Spmcjt',
|
||||
'xq': '0000008RffVgKHMj7kQC',
|
||||
}
|
||||
|
||||
|
||||
def get_club_default_dashou_invite(club_id: str) -> str:
|
||||
"""
|
||||
优先读 Club.config_json.default_dashou_invite,
|
||||
否则回落内置各店默认管事邀请码。
|
||||
"""
|
||||
cid = (club_id or '').strip()
|
||||
if not cid:
|
||||
return ''
|
||||
try:
|
||||
from jituan.models import Club
|
||||
club = Club.query.filter(club_id=cid).first()
|
||||
if club:
|
||||
cfg = club.config_json or {}
|
||||
code = (cfg.get(CONFIG_KEY) or '').strip()
|
||||
if code:
|
||||
return code
|
||||
except Exception:
|
||||
logger.exception('read default_dashou_invite failed club=%s', cid)
|
||||
try:
|
||||
from jituan.services.club_migrate import CLUB_MIGRATE_DEFAULT_GUANSHI_INVITE
|
||||
code = (CLUB_MIGRATE_DEFAULT_GUANSHI_INVITE.get(cid) or '').strip()
|
||||
if code:
|
||||
return code
|
||||
except Exception:
|
||||
pass
|
||||
return (_FALLBACK_DEFAULT_INVITE.get(cid) or '').strip()
|
||||
|
||||
|
||||
def set_club_default_dashou_invite(club, invite_code: str) -> None:
|
||||
"""写入 club.config_json,调用方负责 save。"""
|
||||
cfg = dict(getattr(club, 'config_json', None) or {})
|
||||
cfg[CONFIG_KEY] = (invite_code or '').strip()
|
||||
club.config_json = cfg
|
||||
Reference in New Issue
Block a user