Browse Source

v3注册接口接收region_status参数,用户信息返回region_status

locky 2 years ago
parent
commit
ddbe7c6e23
2 changed files with 34 additions and 15 deletions
  1. 29 15
      Controller/UserController.py
  2. 5 0
      Controller/UserManger.py

+ 29 - 15
Controller/UserController.py

@@ -1119,7 +1119,6 @@ class v2registerView(TemplateView):
             return self.do_login(email_qs, response)
 
 
-# 验证码注册v3
 class v3registerView(TemplateView):
     @method_decorator(csrf_exempt)
     def dispatch(self, *args, **kwargs):
@@ -1136,6 +1135,19 @@ class v3registerView(TemplateView):
         return self.validates(request_dict)
 
     def validates(self, request_dict):
+        """
+        V3注册接口
+        @param request_dict: 请求数据
+        @request_dict phone: 手机
+        @request_dict email: 邮箱
+        @request_dict password: 密码
+        @request_dict authcode: 验证码
+        @request_dict lang: 语言
+        @request_dict unique: 手机唯一标识
+        @request_dict number: 国家id号
+        @request_dict region_status: 地区选择状态
+        @return: response
+        """
         phone = request_dict.get('phone', None)
         email = request_dict.get('email', None)
         password = request_dict.get('password', None)
@@ -1143,9 +1155,11 @@ class v3registerView(TemplateView):
         lang = request_dict.get('lang', None)
         unique = request_dict.get('unique', None)
         number = request_dict.get('number', None)
+        region_status = request_dict.get('region_status', None)
 
         if unique:
             delete_local_account(unique)
+        region_status = int(region_status) if region_status else 0
         response = ResponseObject(lang)
         # 解密
         try:
@@ -1183,20 +1197,19 @@ class v3registerView(TemplateView):
         except Exception as e:
             return response.json(121)
         else:
-            if not lang:
-                lang = request_dict.get('language', None)
             if password is None:
                 return response.json(444, 'password')
             if authcode is None:
                 return response.json(444, 'identifyingCode')
+
             if phone is not None:
-                return self.do_phone_register(phone, password, authcode, number, response)
+                return self.do_phone_register(phone, password, authcode, number, region_status, response)
             elif email is not None:
-                return self.do_email_register(email, password, authcode, number, response)
+                return self.do_email_register(email, password, authcode, number, region_status, response)
             else:
                 return response.json(444, 'phone or email')
 
-    def do_phone_register(self, phone, password, authcode, number, response):
+    def do_phone_register(self, phone, password, authcode, number, region_status, response):
         data_valid = DataValid()
         if data_valid.mobile_validate(phone) is not True:
             return response.json(100)
@@ -1223,11 +1236,11 @@ class v3registerView(TemplateView):
                 "userID": CommonService.getUserID(μs=False, setOTAID=True),
                 "is_active": True,
                 "user_isValid": True,
+                "region_status": region_status
             }
             if number:
                 create_data["region_country"] = number
-
-            users = Device_User.objects.create(**create_data)
+            Device_User.objects.create(**create_data)
 
         except Exception as e:
             errorInfo = traceback.format_exc()
@@ -1266,7 +1279,7 @@ class v3registerView(TemplateView):
         res['phone'] = user_list[0]["phone"] if user_list[0]["phone"] is not None else ''
         return response.json(0, res)
 
-    def do_email_register(self, email, password, authcode, number, response):
+    def do_email_register(self, email, password, authcode, number, region_status, response):
         data_valid = DataValid()
         if data_valid.email_validate(email) is not True:
             return response.json(105)
@@ -1294,10 +1307,11 @@ class v3registerView(TemplateView):
                 "userID": CommonService.getUserID(μs=False, setOTAID=True),
                 "is_active": True,
                 "user_isValid": True,
+                "region_status": region_status
             }
             if number:
                 create_data["region_country"] = number
-            users = Device_User.objects.create(**create_data)
+            Device_User.objects.create(**create_data)
 
         except Exception as e:
             errorInfo = traceback.format_exc()
@@ -1405,7 +1419,7 @@ class v2forgetPwdCodeView(TemplateView):
                 user_qs.update(last_login=now_time, language=lang)
             else:
                 res['status'] = 0
-                user_qs.update(last_login=now_time, language=lang, region_country=number, region_status=True)
+                user_qs.update(last_login=now_time, language=lang, region_country=number)
                 msg_res = aliSms.send_code_sms(phone=phone, code=resetCode, sign_name=sign_ms,
                                                temp_msg='SMS_151675019')
                 if msg_res["Code"] == "OK":
@@ -1473,7 +1487,7 @@ class v2forgetPwdCodeView(TemplateView):
                 user_qs.update(last_login=now_time, language=lang)
             else:
                 res['status'] = 0
-                user_qs.update(last_login=now_time, language=lang, region_country=number, region_status=True)
+                user_qs.update(last_login=now_time, language=lang, region_country=number)
                 msg_res = aliSms.send_code_sms(phone=rec_phone, code=resetCode, sign_name=sign_ms,
                                                temp_msg=temp_msg)
                 if msg_res["Code"] == "OK":
@@ -1530,7 +1544,7 @@ class v2forgetPwdCodeView(TemplateView):
                 user_qs.update(last_login=now_time, language=lang)
             else:
                 res['status'] = 0
-                user_qs.update(last_login=now_time, language=lang, region_country=number, region_status=True)
+                user_qs.update(last_login=now_time, language=lang, region_country=number)
                 send_res = ses.alyEmailCode(send_address_list=[email], subject=send_data['title'], body=send_body)
                 if send_res is not True:
                     reds.del_data(key=email + '_forgetPwdResetCode')
@@ -1898,7 +1912,7 @@ class v2LoginView(TemplateView):
             if not number or number == '0':
                 user_qs.update(last_login=now_time, language=response.lang)
             else:
-                user_qs.update(last_login=now_time, language=response.lang, region_country=number, region_status=True)
+                user_qs.update(last_login=now_time, language=response.lang, region_country=number)
             user_qs.update(last_login=now_time, language=response.lang)
             res['rid'] = users['role__rid']
             res['roleName'] = users['role__roleName']
@@ -2153,7 +2167,7 @@ class v3LoginView(TemplateView):
                 user_qs.update(last_login=now_time, language=response.lang)
             else:   # 一致
                 res['status'] = 0
-                user_qs.update(last_login=now_time, language=response.lang, region_country=number, region_status=True)
+                user_qs.update(last_login=now_time, language=response.lang, region_country=number)
         region_qs = CountryLanguageModel.objects.filter(country_id=region_country, language_id=language_qs[0]['id']).\
             values('country_name')
 

+ 5 - 0
Controller/UserManger.py

@@ -61,11 +61,16 @@ class showUserMoreView(TemplateView):
         for k, v in enumerate(sqlDict["datas"]):
             sqlDict['datas'][k]['fields'].pop('password')
             userIconPath = sqlDict['datas'][k]['fields']['userIconPath']
+            region_status = sqlDict['datas'][k]['fields']['region_status']
             if userIconPath:
                 if userIconPath.find('static/') != -1:
                     userIconPath = userIconPath.replace('static/', '').replace('\\', '/')
                     userIconUrl = SERVER_DOMAIN + 'account/getAvatar/' + userIconPath
                     sqlDict['datas'][k]['fields']['userIconUrl'] = userIconUrl
+
+            # 确认地区字段
+            sqlDict['datas'][k]['fields']['region_status'] = 1 if region_status else 0
+
             if len(v['fields']['role']):
                 roleName = ModelService.getRole(rid=v['fields']['role'][0])
                 sqlDict["datas"][k]['fields']['rolename'] = roleName