12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #!/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(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')
- with open(filepath, 'r', encoding='UTF-8') as f:
- region_list = json.load(f)
- #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)
|