123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #!/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 = Device_User.objects.get(userID=userID)
- number = request_dict.get('number', None)
- if not user:
- return response.json(309)
- user.region_country=number
- user.save()
- return response.json(0)
- 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())
- regin_list = []
- 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']
- regin_list.append(RegionCountryModel(number=number, region_id=region_id, name=name, cn=cn, en=en, add_time=now_time, update_time=now_time))
- RegionCountryModel.objects.bulk_create(regin_list)
- return response.json(0)
|