访客账户注册时关联已有人员

This commit is contained in:
曹前明 2022-10-18 10:19:35 +08:00
parent 53db781742
commit fad13077f6
2 changed files with 6 additions and 10 deletions

View File

@ -57,15 +57,6 @@ class EmployeeViewSet(CustomModelViewSet):
个人信息
"""
user = request.user
Employee.objects.get_or_create(user=user,
defaults={
"user": user,
"name": user.name,
"phone": user.phone,
"belong_dept": user.belong_dept,
"post": user.post,
"type": user.type
})
return Response(EmployeeSerializer(instance=user.employee).data)
@action(methods=['post'], detail=False, permission_classes=[IsAuthenticated],

View File

@ -1,6 +1,7 @@
from apps.auth1.services import check_phone_code
from apps.auth1.views import get_tokens_for_user
from apps.hrm.models import Employee
from apps.system.models import User
from apps.utils.tools import ranstr
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
@ -101,7 +102,8 @@ class VisitorViewSet(CustomModelViewSet):
check_phone_code(phone, code)
# 查询是否已注册
user = User.objects.filter(phone=phone).first()
if user:
ep = Employee.objects.get_queryset(all=True).filter(phone=phone, user=None).first()
if user or ep:
raise ParseError('该手机号已注册,请直接登录')
# 访客/司机账户创建
user = User()
@ -115,6 +117,9 @@ class VisitorViewSet(CustomModelViewSet):
user.wx_openid = vdata.get('wx_openid', None)
user.wxmp_openid = vdata.get('wxmp_openid', None)
user.save()
ep.user = user
ep.is_deleted = False
ep.save()
return Response(get_tokens_for_user(user))