瀏覽代碼

优化初始化用户地区接口

locky 2 年之前
父節點
當前提交
8214e248d0
共有 1 個文件被更改,包括 23 次插入20 次删除
  1. 23 20
      Controller/RegionCountryController.py

+ 23 - 20
Controller/RegionCountryController.py

@@ -1,9 +1,4 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-import time
-
 from django.views import View
-
 from Model.models import Device_User
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
@@ -24,25 +19,33 @@ class RegionCountryView(View):
         return self.validate(request_dict, operation)
 
     def validate(self, request_dict, operation):
-        token = TokenObject(request_dict.get('token', None))
-
         response = ResponseObject()
-
+        token = TokenObject(request_dict.get('token', None))
         if token.code != 0:
             return response.json(token.code)
 
         if operation == 'initUserRegion':
-            return self.do_initUserRegion(token.userID, request_dict, response)
+            return self.init_user_region(token.userID, request_dict, response)
         else:
-            return response.json(404)
-
-    def do_initUserRegion(self, userID, request_dict, response):
-        user = Device_User.objects.get(userID=userID)
-        number = request_dict.get('number', None)
-        if not user:
-            return response.json(309)
-
-        user.region_country = number
-        user.region_status = True
-        user.save()
+            return response.json(414)
+
+    @staticmethod
+    def init_user_region(user_id, request_dict, response):
+        """
+        初始化用户地区
+        @param user_id: 用户id
+        @param request_dict: 请求数据
+        @request_dict number: 国家id
+        @param response: 响应
+        @return: response
+        """
+        region_country = request_dict.get('number', None)
+        if not region_country:
+            return response.json(444)
+
+        device_user_qs = Device_User.objects.filter(userID=user_id)
+        if not device_user_qs.exists():
+            return response.json(104)
+
+        device_user_qs.update(region_country=region_country, region_status=True)
         return response.json(0)