Browse Source

不同地区删除相同用户、设备

peng 2 years ago
parent
commit
3a21340ac9
1 changed files with 30 additions and 19 deletions
  1. 30 19
      Controller/UserController.py

+ 30 - 19
Controller/UserController.py

@@ -15,6 +15,7 @@ import base64
 import datetime
 import logging
 import random
+import threading
 import time
 import traceback
 from io import BytesIO
@@ -37,7 +38,8 @@ from jwt.algorithms import RSAAlgorithm
 from ratelimit.decorators import ratelimit
 
 from Ansjer.config import AuthCode_Expire, SERVER_DOMAIN, APNS_CONFIG, JPUSH_CONFIG, FCM_CONFIG, TUTK_PUSH_DOMAIN
-from Ansjer.config import BASE_DIR, CONFIG_US, CONFIG_EUR, CONFIG_INFO, SERVER_DOMAIN_US, SERVER_DOMAIN_EUR
+from Ansjer.config import BASE_DIR, CONFIG_US, CONFIG_EUR, CONFIG_INFO, SERVER_DOMAIN_US, SERVER_DOMAIN_EUR, CONFIG_CN, \
+    CONFIG_TEST, SERVER_DOMAIN_CN, SERVER_DOMAIN_TEST
 from Controller.CheckUserData import DataValid, date_handler, RandomStr
 from Model.models import Device_User, Role, UidPushModel, UserOauth2Model, UserExModel, Device_Info, UidSetModel, \
     UserAppFrequencyModel, CountryIPModel, CountryModel, UidChannelSetModel, Order_Model, UID_Bucket, Unused_Uid_Meal, \
@@ -685,6 +687,23 @@ class refreshTokenViewV3(TemplateView):
         request_dict = request.GET
         return self.validation(request_dict)
 
+    def delete_user_and_device(self, user_id):
+        # 删除不同区域相同用户
+        data = {'userID': user_id}
+        if CONFIG_INFO == CONFIG_US:
+            url1 = SERVER_DOMAIN_EUR + 'v3/account/deleteUser'
+            url2 = SERVER_DOMAIN_CN + 'v3/account/deleteUser'
+        elif CONFIG_INFO == CONFIG_EUR:
+            url1 = SERVER_DOMAIN_US + 'v3/account/deleteUser'
+            url2 = SERVER_DOMAIN_CN + 'v3/account/deleteUser'
+        elif CONFIG_INFO == CONFIG_CN:
+            # url1 = SERVER_DOMAIN_US + 'v3/account/deleteUser'
+            # url2 = SERVER_DOMAIN_EUR + 'v3/account/deleteUser'
+            url1 = SERVER_DOMAIN_TEST + 'v3/account/deleteUser'
+
+        requests.get(url=url1, data=data)
+        # requests.get(url=url2, data=data)
+
     def validation(self, request_dict):
         token = request_dict.get('token', None)
         lang = request_dict.get('lang', None)
@@ -705,15 +724,8 @@ class refreshTokenViewV3(TemplateView):
                 return response.json(tko.code)
             userID = tko.userID
             tko.lang = lang
-
-            # 删除不同区域相同用户
-            headers = {'Authorization': token}
-            if CONFIG_INFO == CONFIG_US:
-                url = SERVER_DOMAIN_EUR + 'v3/account/deleteUser'
-                # requests.get(url=url, headers=headers)
-            elif CONFIG_INFO == CONFIG_EUR:
-                url = SERVER_DOMAIN_US + 'v3/account/deleteUser'
-                # requests.get(url=url, headers=headers)
+            request_thread = threading.Thread(target=refreshTokenViewV3.delete_user_and_device, args=userID)
+            request_thread.start()
             if password:  # 检验密码
                 password = password.strip()
                 # 解密
@@ -737,6 +749,9 @@ class refreshTokenViewV3(TemplateView):
                     'region': lang
                 }
                 user_ex_qs.update(**update_dict)
+
+
+
             return response.json(0, res)
         except Exception as e:
             print(e)
@@ -1480,7 +1495,6 @@ class v2forgetPwdCodeView(TemplateView):
 
         return response.json(0, res)
 
-
     def do_send_email_code(self, email, response, number, lang):
         data_valid = DataValid()
         if data_valid.email_validate(email) is not True:
@@ -4346,12 +4360,9 @@ class DeleteUser(View):
         request_dict = request.POST
         return self.validate(request, request_dict)
 
-    def validate(self, request, request_dict):
-        token_code, user_id, response = CommonService.verify_token_get_user_id(request_dict, request)
-
-        if token_code != 0:
-            return response.json(token_code)
-        user_qs = Device_User.objects.filter(userID=user_id)
-        if user_qs.exists():
-            user_qs.delete()
+    def validate(self, request_dict):
+        response = ResponseObject('cn')
+        user_id = request_dict.get('userID', None)
+        Device_User.objects.filter(userID=user_id).delete()
+        Device_Info.objects.filter(userID=user_id).delete()
         return response.json(0)