diff --git a/users/views.py b/users/views.py index c1c7b4a..93d44ed 100644 --- a/users/views.py +++ b/users/views.py @@ -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