| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | 
							- #!/usr/bin/env python3
 
- # -*- coding: utf-8 -*-
 
- import time
 
- from django.views import View
 
- from Model.models import Device_User, UserRegionModel
 
- from Object.ResponseObject import ResponseObject
 
- from Object.TokenObject import TokenObject
 
- class UserRegionView(View):
 
-     def get(self, request, *args, **kwargs):
 
-         request.encoding = 'utf-8'
 
-         operation = kwargs.get('operation', None)
 
-         request_dict = request.GET
 
-         return self.validate(request_dict, operation)
 
-     def post(self, request, *args, **kwargs):
 
-         request.encoding = 'utf-8'
 
-         operation = kwargs.get('operation', None)
 
-         request_dict = request.POST
 
-         return self.validate(request_dict, operation)
 
-     def validate(self, request_dict, operation):
 
-         token = TokenObject(request_dict.get('token', None))
 
-         response = ResponseObject()
 
-         if token.code != 0:
 
-             return response.json(token.code)
 
-         if operation == 'init':
 
-             return self.do_init(token.userID, request_dict, response)
 
-         else:
 
-             return response.json(404)
 
-     def do_init(self, userID, request_dict, response):
 
-         user_qs = Device_User.objects.filter(userID=userID)
 
-         if not user_qs.exists():
 
-             return response.json(309)
 
-         region_id = request_dict.get('country_number', None)
 
-         if region_id:
 
-             user_region_qs = UserRegionModel.objects.filter(user__userID=userID)
 
-             now_time = int(time.time())
 
-             if not user_region_qs.exists():
 
-                 user_region = UserRegionModel(user_id=userID, region_id=region_id, add_time=now_time, update_time=now_time)
 
-                 user_region.save()
 
-             else:
 
-                 update = {
 
-                     'region_id': region_id,
 
-                     'update_time': now_time
 
-                 }
 
-                 user_region_qs.update(**update)
 
-             return response.json(0)
 
-         else:
 
-             return response.json(444)
 
 
  |