扫码接口在已是打手早退前仍写入 guanshi_saoma,注册可跳过标记不可跳过。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -19,13 +19,19 @@ def mark_guanshi_qr_scanned(user_main, invite_code_raw):
|
|||||||
"""
|
"""
|
||||||
仅当请求明确带了管事邀请码(真实扫码)时,标记用户已扫过管事二维码。
|
仅当请求明确带了管事邀请码(真实扫码)时,标记用户已扫过管事二维码。
|
||||||
空邀请码走默认码注册的不标记,避免误开隐藏商品。
|
空邀请码走默认码注册的不标记,避免误开隐藏商品。
|
||||||
|
已是打手/老用户同样必须写入,注册流程可跳过,标记不可跳过。
|
||||||
"""
|
"""
|
||||||
if not user_main or not (invite_code_raw or '').strip():
|
if not user_main or not (invite_code_raw or '').strip():
|
||||||
return
|
return False
|
||||||
if getattr(user_main, 'guanshi_saoma', 0) == 1:
|
updated = UserMain.objects.filter(pk=user_main.pk).exclude(guanshi_saoma=1).update(guanshi_saoma=1)
|
||||||
return
|
|
||||||
UserMain.objects.filter(pk=user_main.pk).update(guanshi_saoma=1)
|
|
||||||
user_main.guanshi_saoma = 1
|
user_main.guanshi_saoma = 1
|
||||||
|
if updated:
|
||||||
|
logger.info(
|
||||||
|
'扫管事码标记已写入 yonghuid=%s invite=%s',
|
||||||
|
getattr(user_main, 'yonghuid', ''),
|
||||||
|
(invite_code_raw or '')[:20],
|
||||||
|
)
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
def resolve_guanshi_for_dashou_register(invite_code):
|
def resolve_guanshi_for_dashou_register(invite_code):
|
||||||
|
|||||||
@@ -1390,13 +1390,13 @@ class DashouZhuceView(APIView):
|
|||||||
'data': None
|
'data': None
|
||||||
}, status=status.HTTP_404_NOT_FOUND)
|
}, status=status.HTTP_404_NOT_FOUND)
|
||||||
|
|
||||||
# 真实扫码(带了邀请码)才标记,空码走默认不标记
|
# 扫码标记:在「是否已是打手」判断之前写入,已注册也会写,绝不跳过
|
||||||
mark_guanshi_qr_scanned(current_user, yaoqingma)
|
mark_guanshi_qr_scanned(current_user, yaoqingma)
|
||||||
|
|
||||||
# 2. 检查用户是否已是打手 (使用反向查询,性能最优)
|
# 2. 检查用户是否已是打手 (使用反向查询,性能最优)
|
||||||
try:
|
try:
|
||||||
dashou_profile = current_user.dashou_profile
|
dashou_profile = current_user.dashou_profile
|
||||||
# 用户已是打手,直接返回现有信息
|
# 用户已是打手,直接返回现有信息(标记已在上方写完)
|
||||||
return self.fanhuiXianyouDashouXinxi(dashou_profile, current_user)
|
return self.fanhuiXianyouDashouXinxi(dashou_profile, current_user)
|
||||||
except UserDashou.DoesNotExist:
|
except UserDashou.DoesNotExist:
|
||||||
# 用户不是打手,继续注册流程
|
# 用户不是打手,继续注册流程
|
||||||
|
|||||||
Reference in New Issue
Block a user