| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | #!/usr/bin/env python3# -*- coding: utf-8 -*-import timefrom django.views import Viewfrom Model.models import Device_User, RegionCountryModelfrom Object.ResponseObject import ResponseObjectfrom Object.TokenObject import TokenObjectimport  jsonclass 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].region_country = number        user_qs[0].save()        return response.json()    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)
 |