diff --git a/apps/hrm/views.py b/apps/hrm/views.py index 9dc442b2..0d8bb75f 100755 --- a/apps/hrm/views.py +++ b/apps/hrm/views.py @@ -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], diff --git a/apps/vm/views.py b/apps/vm/views.py index a5db8bd4..3f0b4d85 100644 --- a/apps/vm/views.py +++ b/apps/vm/views.py @@ -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))