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

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 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) return Response(EmployeeSerializer(instance=user.employee).data)
@action(methods=['post'], detail=False, permission_classes=[IsAuthenticated], @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.services import check_phone_code
from apps.auth1.views import get_tokens_for_user from apps.auth1.views import get_tokens_for_user
from apps.hrm.models import Employee
from apps.system.models import User from apps.system.models import User
from apps.utils.tools import ranstr from apps.utils.tools import ranstr
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
@ -101,7 +102,8 @@ class VisitorViewSet(CustomModelViewSet):
check_phone_code(phone, code) check_phone_code(phone, code)
# 查询是否已注册 # 查询是否已注册
user = User.objects.filter(phone=phone).first() 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('该手机号已注册,请直接登录') raise ParseError('该手机号已注册,请直接登录')
# 访客/司机账户创建 # 访客/司机账户创建
user = User() user = User()
@ -115,6 +117,9 @@ class VisitorViewSet(CustomModelViewSet):
user.wx_openid = vdata.get('wx_openid', None) user.wx_openid = vdata.get('wx_openid', None)
user.wxmp_openid = vdata.get('wxmp_openid', None) user.wxmp_openid = vdata.get('wxmp_openid', None)
user.save() user.save()
ep.user = user
ep.is_deleted = False
ep.save()
return Response(get_tokens_for_user(user)) return Response(get_tokens_for_user(user))