|
@@ -655,8 +655,11 @@ class v2authCodeView(TemplateView):
|
|
|
if dataValid.mobile_validate(phone) is not True:
|
|
|
return response.json(107)
|
|
|
reds = RedisObject()
|
|
|
- identifyingCode = reds.get_data(key=phone + '_identifyingCode')
|
|
|
- if identifyingCode:
|
|
|
+ reds_key = str(phone) + '_identifyingCode'
|
|
|
+ identifyingCode = reds.get_data(key=reds_key)
|
|
|
+ reds_key_ttl = reds.get_ttl(key=reds_key)
|
|
|
+ if reds_key_ttl > 240 and identifyingCode:
|
|
|
+ # if identifyingCode :
|
|
|
return response.json(90)
|
|
|
user_qs = Device_User.objects.filter(username=phone)
|
|
|
phone_qs = Device_User.objects.filter(phone=phone)
|
|
@@ -669,7 +672,9 @@ class v2authCodeView(TemplateView):
|
|
|
temp_msg='SMS_151600991')
|
|
|
print(res)
|
|
|
if res["Code"] == "OK":
|
|
|
- if reds.set_data(key=phone + '_identifyingCode', val=identifyingCode, expire=60) is not True:
|
|
|
+ if reds.set_data(key=reds_key, val=identifyingCode, expire=300) is not True:
|
|
|
+ # if reds.set_data(key=phone + '_identifyingCode', val=identifyingCode, expire=60) is not True:
|
|
|
+
|
|
|
return response.json(10, '生成缓存系统错误')
|
|
|
return response.json(0)
|
|
|
else:
|
|
@@ -680,8 +685,11 @@ class v2authCodeView(TemplateView):
|
|
|
if dataValid.mobile_validate(phone) is not True:
|
|
|
return response.json(107)
|
|
|
reds = RedisObject()
|
|
|
- identifyingCode = reds.get_data(key=phone + '_identifyingCode')
|
|
|
- if identifyingCode:
|
|
|
+ reds_key = str(phone) + '_identifyingCode'
|
|
|
+ identifyingCode = reds.get_data(key=reds_key)
|
|
|
+ reds_key_ttl = reds.get_ttl(key=reds_key)
|
|
|
+ if reds_key_ttl > 240 and identifyingCode:
|
|
|
+ # if identifyingCode :
|
|
|
return response.json(90)
|
|
|
user_qs = Device_User.objects.filter(username=phone)
|
|
|
phone_qs = Device_User.objects.filter(phone=phone)
|
|
@@ -703,7 +711,8 @@ class v2authCodeView(TemplateView):
|
|
|
temp_msg=temp_msg)
|
|
|
print(res)
|
|
|
if res["Code"] == "OK":
|
|
|
- if reds.set_data(key=phone + '_identifyingCode', val=identifyingCode, expire=60) is not True:
|
|
|
+ # if reds.set_data(key=reds_key, val=identifyingCode, expire=60) is not True:
|
|
|
+ if reds.set_data(key=reds_key, val=identifyingCode, expire=300) is not True:
|
|
|
return response.json(10, '生成缓存系统错误')
|
|
|
return response.json(0)
|
|
|
else:
|
|
@@ -883,9 +892,13 @@ class v2forgetPwdCodeView(TemplateView):
|
|
|
def ValidationError(self, request_dict, response):
|
|
|
phone = request_dict.get('phone', None)
|
|
|
email = request_dict.get('email', None)
|
|
|
+ country_code = request_dict.get('country_code', None)
|
|
|
if phone is not None:
|
|
|
phone = phone.strip()
|
|
|
- return self.do_send_phone_code(phone, response)
|
|
|
+ if country_code is None:
|
|
|
+ return self.do_send_phone_code(phone, response)
|
|
|
+ else:
|
|
|
+ return self.do_v2_send_phone_code(country_code, phone, response)
|
|
|
elif email is not None:
|
|
|
return self.do_send_email_code(email, response)
|
|
|
else:
|
|
@@ -899,17 +912,54 @@ class v2forgetPwdCodeView(TemplateView):
|
|
|
if not user_qs.exists():
|
|
|
return response.json(102)
|
|
|
reds = RedisObject()
|
|
|
- resetCode = reds.get_data(key=phone + '_forgetPwdResetCode')
|
|
|
- if resetCode is True:
|
|
|
- return response.json(120)
|
|
|
+ reds_key = str(phone) + '_forgetPwdResetCode'
|
|
|
+ resetCode = reds.get_data(key=reds_key)
|
|
|
+ reds_key_ttl = reds.get_ttl(key=reds_key)
|
|
|
+ if reds_key_ttl > 240 and resetCode:
|
|
|
+ # if identifyingCode :
|
|
|
+ return response.json(90)
|
|
|
+ # if resetCode is True:
|
|
|
+ # return response.json(120)
|
|
|
resetCode = RandomStr(6, True)
|
|
|
- if not reds.set_data(key=phone + '_forgetPwdResetCode', val=resetCode, expire=300):
|
|
|
- return response.json(10, '生成缓存错误')
|
|
|
aliSms = AliSmsObject()
|
|
|
res = aliSms.send_code_sms(phone=phone, code=resetCode, sign_name='Ansjer',
|
|
|
temp_msg='SMS_151675019')
|
|
|
if res["Code"] == "OK":
|
|
|
- # return response.json(0, {'forgetPwdResetCode': resetCode})
|
|
|
+ if not reds.set_data(key=reds_key, val=resetCode, expire=300):
|
|
|
+ return response.json(10, '生成缓存错误')
|
|
|
+ return response.json(0)
|
|
|
+ else:
|
|
|
+ return response.json(10, res["Message"])
|
|
|
+
|
|
|
+ def do_v2_send_phone_code(self,country_code, phone, response):
|
|
|
+ data_valid = DataValid()
|
|
|
+ if data_valid.mobile_validate(phone) is not True:
|
|
|
+ return response.json(100)
|
|
|
+ user_qs = Device_User.objects.filter(Q(phone=phone) | Q(username=phone))
|
|
|
+ if not user_qs.exists():
|
|
|
+ return response.json(102)
|
|
|
+ reds = RedisObject()
|
|
|
+ reds_key = str(phone) + '_forgetPwdResetCode'
|
|
|
+ resetCode = reds.get_data(key=reds_key)
|
|
|
+ reds_key_ttl = reds.get_ttl(key=reds_key)
|
|
|
+ if reds_key_ttl > 240 and resetCode:
|
|
|
+ # if identifyingCode :
|
|
|
+ return response.json(90)
|
|
|
+ # if resetCode is True:
|
|
|
+ # return response.json(120)
|
|
|
+ resetCode = RandomStr(6, True)
|
|
|
+ aliSms = AliSmsObject()
|
|
|
+ if country_code == '86':
|
|
|
+ rec_phone = phone
|
|
|
+ temp_msg = 'SMS_151675019'
|
|
|
+ else:
|
|
|
+ temp_msg = 'SMS_172200051'
|
|
|
+ rec_phone = str(country_code)+str(phone)
|
|
|
+ res = aliSms.send_code_sms(phone=rec_phone, code=resetCode, sign_name='Ansjer',
|
|
|
+ temp_msg=temp_msg)
|
|
|
+ if res["Code"] == "OK":
|
|
|
+ if not reds.set_data(key=reds_key, val=resetCode, expire=300):
|
|
|
+ return response.json(10, '生成缓存错误')
|
|
|
return response.json(0)
|
|
|
else:
|
|
|
return response.json(10, res["Message"])
|