1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- import time
- from django.views import View
- from Model.models import Device_User, RegionCountryModel
- from Object.ResponseObject import ResponseObject
- from Object.TokenObject import TokenObject
- import json
- class RegionCountryView(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 == 'initUserRegion':
- return self.do_initUserRegion(token.userID, request_dict, response)
- elif operation == 'initRegionDate':
- return self.do_initRegionDate(token.userID, request_dict, response)
- else:
- return response.json(404)
- def do_initUserRegion(self, userID, request_dict, response):
- user_qs = Device_User.objects.filter(userID=userID)
- number = request_dict.get('number', None)
- if not user_qs.exists():
- return response.json(309)
- user_qs[0].update(regionCountry = number)
- def do_initRegionDate(self, request_dict, response):
- filepath = request_dict.get('filepath')
- fobj = open(filepath)
- region_list = json.loads(fobj)
- now_time = int(time.time())
- for region in region_list:
- name = region['name']
- region_id = region['region_id']
- countries_list = region['countries']
- for countries in countries_list:
- cn = countries['cn']
- en = countries['en']
- number = countries['number']
- RegionCountryModel.objects.create(number=number, region_id=region_id, name=name, cn=cn, en=en, add_time=now_time, update_time=now_time)
|