fix: KefuLoginView 客服登录改用 Phone 字段查询

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
XingQue
2026-06-18 11:22:31 +08:00
parent 16845d0ce2
commit e67bc17fa2

View File

@@ -6727,12 +6727,13 @@ class KefuLoginView(APIView):
# 2. 获取客户端真实IP
client_ip = self.get_client_ip(request)
# 3. 查询该手机号下所有客服账号(GVSDSDK User 字段为 Phone客服在 user_kefu 表
kefu_candidates = UserKefu.query.filter(
user__Phone=phone,
).select_related('user')
# 3. 查询该手机号下所有客服账号User 字段为 Phone与 backend 创建客服校验写法一致
user_mains = User.query.filter(
Phone=phone,
kefu_profile__isnull=False,
).select_related('kefu_profile')
if not kefu_candidates.exists():
if not user_mains.exists():
logger.warning(f"登录失败,手机号不存在或非客服: {phone}, IP: {client_ip}")
return Response({
'code': 1,
@@ -6744,8 +6745,8 @@ class KefuLoginView(APIView):
target_user = None
target_kefu = None
for kefu in kefu_candidates:
user = kefu.user
for user in user_mains:
kefu = user.kefu_profile
# 验证主密码(明文比较,按您的要求)
if user.UserPassword != password:
continue