Browse Source

添加用户注销删除接口
v1,v2登录接口新增number地区

lang 3 years ago
parent
commit
40a0a8ec4c
2 changed files with 56 additions and 22 deletions
  1. 1 0
      Ansjer/urls.py
  2. 55 22
      Controller/UserController.py

+ 1 - 0
Ansjer/urls.py

@@ -134,6 +134,7 @@ urlpatterns = [
     url(r'^v2/authcode/verify$', UserController.verifyAuthcode.as_view()),
     url(r'^v2/authcode/verify$', UserController.verifyAuthcode.as_view()),
     url(r'^v2/account/logout$', UserController.V2LogoutView.as_view()),
     url(r'^v2/account/logout$', UserController.V2LogoutView.as_view()),
     url(r'^v2/account/login$', UserController.v3LoginView.as_view()),
     url(r'^v2/account/login$', UserController.v3LoginView.as_view()),
+    url(r'^account/delete$', UserController.deleteAccount),
     url(r'^v3/account/login$', UserController.v3LoginView.as_view()),
     url(r'^v3/account/login$', UserController.v3LoginView.as_view()),
 
 
     # 验证码登录
     # 验证码登录

+ 55 - 22
Controller/UserController.py

@@ -1637,34 +1637,35 @@ class v2LoginView(TemplateView):
     def validates(self, request_dict, response):
     def validates(self, request_dict, response):
         username = request_dict.get('userName', None)
         username = request_dict.get('userName', None)
         password = request_dict.get('userPwd', None)
         password = request_dict.get('userPwd', None)
+        number = request_dict.get('number', None)
         if not username or not password:
         if not username or not password:
             return response.json(111)
             return response.json(111)
         username = username.strip()
         username = username.strip()
         password = password.strip()
         password = password.strip()
         data_valid = DataValid()
         data_valid = DataValid()
         if data_valid.email_validate(username):
         if data_valid.email_validate(username):
-            return self.do_email_login(username, password, response)
+            return self.do_email_login(username, password, number, response)
         elif data_valid.mobile_validate(username):
         elif data_valid.mobile_validate(username):
-            return self.do_phone_login(username, password, response)
+            return self.do_phone_login(username, password, number, response)
         elif data_valid.name_validate(username):
         elif data_valid.name_validate(username):
-            return self.do_name_login(username, password, response)
+            return self.do_name_login(username, password, number, response)
         else:
         else:
             return response.json(107)
             return response.json(107)
 
 
-    def do_email_login(self, email, password, response):
+    def do_email_login(self, email, password, number, response):
         user_qs = Device_User.objects.filter(Q(username=email) | Q(userEmail=email))
         user_qs = Device_User.objects.filter(Q(username=email) | Q(userEmail=email))
-        return self.valid_login(user_qs, password, response)
+        return self.valid_login(user_qs, password, number, response)
 
 
-    def do_phone_login(self, phone, password, response):
+    def do_phone_login(self, phone, password, number, response):
         user_qs = Device_User.objects.filter(Q(phone=phone) | Q(username=phone), is_active=True, user_isValid=True)
         user_qs = Device_User.objects.filter(Q(phone=phone) | Q(username=phone), is_active=True, user_isValid=True)
-        return self.valid_login(user_qs, password, response)
+        return self.valid_login(user_qs, password, number, response)
 
 
-    def do_name_login(self, username, password, response):
+    def do_name_login(self, username, password, number, response):
         user_qs = Device_User.objects.filter(Q(username=username) | Q(phone=username) | Q(userEmail=username),
         user_qs = Device_User.objects.filter(Q(username=username) | Q(phone=username) | Q(userEmail=username),
                                              is_active=True, user_isValid=True)
                                              is_active=True, user_isValid=True)
-        return self.valid_login(user_qs, password, response)
+        return self.valid_login(user_qs, password, number, response)
 
 
-    def valid_login(self, user_qs, password, response):
+    def valid_login(self, user_qs, password, number, response):
         if not user_qs.exists():
         if not user_qs.exists():
             return response.json(104)
             return response.json(104)
         # users = user_qs.values('role__rid', 'role__roleName', 'userID', 'role', 'NickName', 'username', 'userEmail',
         # users = user_qs.values('role__rid', 'role__roleName', 'userID', 'role', 'NickName', 'username', 'userEmail',
@@ -1679,6 +1680,10 @@ class v2LoginView(TemplateView):
             data={'userID': userID, 'lang': response.lang, 'user': users['username'], 'm_code': '123413243214'})
             data={'userID': userID, 'lang': response.lang, 'user': users['username'], 'm_code': '123413243214'})
         if tko.code == 0:
         if tko.code == 0:
             now_time = datetime.datetime.utcnow().replace(tzinfo=utc).astimezone(utc)
             now_time = datetime.datetime.utcnow().replace(tzinfo=utc).astimezone(utc)
+            if not number:
+                user_qs.update(last_login=now_time, language=response.lang)
+            else:
+                user_qs.update(last_login=now_time, language=response.lang, region_country=number)
             user_qs.update(last_login=now_time, language=response.lang)
             user_qs.update(last_login=now_time, language=response.lang)
             res['rid'] = users['role__rid']
             res['rid'] = users['role__rid']
             res['roleName'] = users['role__roleName']
             res['roleName'] = users['role__roleName']
@@ -1824,6 +1829,7 @@ class v3LoginView(TemplateView):
         username = request_dict.get('userName', None)
         username = request_dict.get('userName', None)
         password = request_dict.get('userPwd', None)
         password = request_dict.get('userPwd', None)
         subscribe = request_dict.get('subscribe', None)
         subscribe = request_dict.get('subscribe', None)
+        number = request_dict.get('number', None)
         if not username or not password:
         if not username or not password:
             return response.json(111)
             return response.json(111)
         username = username.strip()
         username = username.strip()
@@ -1855,28 +1861,28 @@ class v3LoginView(TemplateView):
         else:
         else:
             data_valid = DataValid()
             data_valid = DataValid()
             if data_valid.email_validate(username):
             if data_valid.email_validate(username):
-                return self.do_email_login(username, password, response, subscribe)
+                return self.do_email_login(username, password, response, subscribe, number)
             elif data_valid.mobile_validate(username):
             elif data_valid.mobile_validate(username):
-                return self.do_phone_login(username, password, response, subscribe)
+                return self.do_phone_login(username, password, response, subscribe, number)
             elif data_valid.name_validate(username):
             elif data_valid.name_validate(username):
-                return self.do_name_login(username, password, response, subscribe)
+                return self.do_name_login(username, password, response, subscribe, number)
             else:
             else:
                 return response.json(107)
                 return response.json(107)
 
 
-    def do_email_login(self, email, password, response, subscribe):
+    def do_email_login(self, email, password, response, subscribe, number):
         user_qs = Device_User.objects.filter(Q(username=email) | Q(userEmail=email))
         user_qs = Device_User.objects.filter(Q(username=email) | Q(userEmail=email))
-        return self.valid_login(user_qs, password, response, subscribe)
+        return self.valid_login(user_qs, password, response, subscribe, number)
 
 
-    def do_phone_login(self, phone, password, response, subscribe):
+    def do_phone_login(self, phone, password, response, subscribe, number):
         user_qs = Device_User.objects.filter(Q(phone=phone) | Q(username=phone), is_active=True, user_isValid=True)
         user_qs = Device_User.objects.filter(Q(phone=phone) | Q(username=phone), is_active=True, user_isValid=True)
-        return self.valid_login(user_qs, password, response, subscribe)
+        return self.valid_login(user_qs, password, response, subscribe, number)
 
 
-    def do_name_login(self, username, password, response, subscribe):
+    def do_name_login(self, username, password, response, subscribe, number):
         user_qs = Device_User.objects.filter(Q(username=username) | Q(phone=username) | Q(userEmail=username),
         user_qs = Device_User.objects.filter(Q(username=username) | Q(phone=username) | Q(userEmail=username),
                                              is_active=True, user_isValid=True)
                                              is_active=True, user_isValid=True)
-        return self.valid_login(user_qs, password, response, subscribe)
+        return self.valid_login(user_qs, password, response, subscribe, number)
 
 
-    def valid_login(self, user_qs, password, response, subscribe):
+    def valid_login(self, user_qs, password, response, subscribe, number):
         if not user_qs.exists():
         if not user_qs.exists():
             return response.json(104)
             return response.json(104)
         # users = user_qs.values('role__rid', 'role__roleName', 'userID', 'role', 'NickName', 'username', 'userEmail',
         # users = user_qs.values('role__rid', 'role__roleName', 'userID', 'role', 'NickName', 'username', 'userEmail',
@@ -1900,7 +1906,11 @@ class v3LoginView(TemplateView):
 
 
         if tko.code == 0:
         if tko.code == 0:
             now_time = datetime.datetime.utcnow().replace(tzinfo=utc).astimezone(utc)
             now_time = datetime.datetime.utcnow().replace(tzinfo=utc).astimezone(utc)
-            user_qs.update(last_login=now_time, language=response.lang)
+            if not number:
+                user_qs.update(last_login=now_time, language=response.lang)
+            else:
+                user_qs.update(last_login=now_time, language=response.lang, region_country=number)
+
             res['rid'] = users['role__rid']
             res['rid'] = users['role__rid']
             res['roleName'] = users['role__roleName']
             res['roleName'] = users['role__roleName']
             res['permList'] = ModelService.own_permission(userID)
             res['permList'] = ModelService.own_permission(userID)
@@ -3838,6 +3848,27 @@ def updateUserCountry(request):
     return response.json(0)
     return response.json(0)
 
 
 
 
+def deleteAccount(request):
+    response = ResponseObject()
+    request.encoding = 'utf-8'
+    #test
+    token = request.POST.get('token',None)
+    if token is None:
+        return response.json(309)
+    tko = TokenObject(token)
+    response.lang = tko.lang
+    if tko.code != 0:
+        return response.json(tko.code)
+    userID = tko.userID
+    if not userID:
+        return response.json(309)
+    delUser = Device_User.objects.filter(userID=userID)
+    if not delUser.exists():
+        return response.json(104)
+    delUser.delete()
+    return response.json(0)
+
+
 class InitUserInformationView(View):
 class InitUserInformationView(View):
 
 
     def get(self, request, *args, **kwargs):
     def get(self, request, *args, **kwargs):
@@ -3883,4 +3914,6 @@ class InitUserInformationView(View):
                 user_ex.save()
                 user_ex.save()
             return response.json(0)
             return response.json(0)
         else:
         else:
-            return response.json(444)
+            return response.json(444)
+
+