|
@@ -15,6 +15,7 @@ import base64
|
|
import datetime
|
|
import datetime
|
|
import logging
|
|
import logging
|
|
import random
|
|
import random
|
|
|
|
+import threading
|
|
import time
|
|
import time
|
|
import traceback
|
|
import traceback
|
|
from io import BytesIO
|
|
from io import BytesIO
|
|
@@ -37,7 +38,8 @@ from jwt.algorithms import RSAAlgorithm
|
|
from ratelimit.decorators import ratelimit
|
|
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 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 Controller.CheckUserData import DataValid, date_handler, RandomStr
|
|
from Model.models import Device_User, Role, UidPushModel, UserOauth2Model, UserExModel, Device_Info, UidSetModel, \
|
|
from Model.models import Device_User, Role, UidPushModel, UserOauth2Model, UserExModel, Device_Info, UidSetModel, \
|
|
UserAppFrequencyModel, CountryIPModel, CountryModel, UidChannelSetModel, Order_Model, UID_Bucket, Unused_Uid_Meal, \
|
|
UserAppFrequencyModel, CountryIPModel, CountryModel, UidChannelSetModel, Order_Model, UID_Bucket, Unused_Uid_Meal, \
|
|
@@ -685,6 +687,23 @@ class refreshTokenViewV3(TemplateView):
|
|
request_dict = request.GET
|
|
request_dict = request.GET
|
|
return self.validation(request_dict)
|
|
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):
|
|
def validation(self, request_dict):
|
|
token = request_dict.get('token', None)
|
|
token = request_dict.get('token', None)
|
|
lang = request_dict.get('lang', None)
|
|
lang = request_dict.get('lang', None)
|
|
@@ -705,15 +724,8 @@ class refreshTokenViewV3(TemplateView):
|
|
return response.json(tko.code)
|
|
return response.json(tko.code)
|
|
userID = tko.userID
|
|
userID = tko.userID
|
|
tko.lang = lang
|
|
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: # 检验密码
|
|
if password: # 检验密码
|
|
password = password.strip()
|
|
password = password.strip()
|
|
# 解密
|
|
# 解密
|
|
@@ -737,6 +749,9 @@ class refreshTokenViewV3(TemplateView):
|
|
'region': lang
|
|
'region': lang
|
|
}
|
|
}
|
|
user_ex_qs.update(**update_dict)
|
|
user_ex_qs.update(**update_dict)
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
return response.json(0, res)
|
|
return response.json(0, res)
|
|
except Exception as e:
|
|
except Exception as e:
|
|
print(e)
|
|
print(e)
|
|
@@ -1480,7 +1495,6 @@ class v2forgetPwdCodeView(TemplateView):
|
|
|
|
|
|
return response.json(0, res)
|
|
return response.json(0, res)
|
|
|
|
|
|
-
|
|
|
|
def do_send_email_code(self, email, response, number, lang):
|
|
def do_send_email_code(self, email, response, number, lang):
|
|
data_valid = DataValid()
|
|
data_valid = DataValid()
|
|
if data_valid.email_validate(email) is not True:
|
|
if data_valid.email_validate(email) is not True:
|
|
@@ -4346,12 +4360,9 @@ class DeleteUser(View):
|
|
request_dict = request.POST
|
|
request_dict = request.POST
|
|
return self.validate(request, request_dict)
|
|
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)
|
|
return response.json(0)
|