| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | #!/usr/bin/env python3# -*- coding: utf-8 -*-import timefrom django.views import Viewfrom Model.models import LanguageModelfrom Object.uidManageResponseObject import uidManageResponseObjectfrom Object.TokenObject import TokenObjectfrom Service.ModelService import ModelServiceclass LanguageView(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 = uidManageResponseObject()        if token.code != 0:            return response.json(token.code)        if operation == 'add':            return self.do_add(token.userID, request_dict, response)        elif operation == 'update':            return self.do_update(token.userID, request_dict, response)        elif operation == 'getLanguage':            return self.do_get(request_dict, response)        else:            return response.json(404)    def do_add(self, userID, request_dict, response):        # perm = ModelService.check_perm_uid_manage(userID, 0)        # if not perm:        #     return response.json(309)        lang = request_dict.get('lang', None)        lang_youdao = request_dict.get('lang_youdao', None)        if lang:            now_time = int(time.time())            language = LanguageModel(lang=lang, lang_youdao=lang_youdao, add_time=now_time, update_time=now_time)            language.save()            return response.json(0)        else:            return response.json(444)    def do_update(self, userID, request_dict, response):        # perm = ModelService.check_perm_uid_manage(userID, 0)        # if not perm:        #     return response.json(309)        id = request_dict.get('id', None)        if id:            lang = request_dict.get('lang', None)            lang_youdao = request_dict.get('lang_youdao', None)            update = {            }            if lang:                update['lang'] = lang            if lang_youdao:                update['lang_youdao'] = lang_youdao            LanguageModel.objects.filter(id=id).update(**update)            return response.json(0)        else:            return response.json(444)    def do_get(self, request_dict, response):        type = request_dict.get('type', None)        if type:            lang_qs = LanguageModel.objects.filter(lang=type)            if lang_qs.exists():                lang = lang_qs.values('id', 'lang', 'lang_youdao')                return response.json(0, lang)            else:                return response.json(173)        else:            return response.json(444)
 |