| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 | #!/usr/bin/env python3  # -*- coding: utf-8 -*-  """@Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.@AUTHOR: ASJRD018@NAME: AnsjerFormal@software: PyCharm@DATE: 2018/12/15 15:30@Version: python3.6@MODIFY DECORD:ansjer dev@file: VodBucket.py@Contact: chanjunkai@163.com"""import jsonimport timefrom django.utils.decorators import method_decoratorfrom django.views.decorators.csrf import csrf_exemptfrom django.views.generic.base import Viewfrom Model.models import VodBucketModelfrom Object.ResponseObject import ResponseObjectfrom Object.TokenObject import TokenObjectfrom Service.ModelService import ModelServiceclass VodBucketView(View):    @method_decorator(csrf_exempt)    def dispatch(self, *args, **kwargs):        return super(VodBucketView, self).dispatch(*args, **kwargs)    def get(self, request, *args, **kwargs):        request.encoding = 'utf-8'        operation = kwargs.get('operation')        return self.validation(request.GET, operation)    def post(self, request, *args, **kwargs):        request.encoding = 'utf-8'        operation = kwargs.get('operation')        request_dict = json.loads(request.body.decode('utf-8'))        return self.validation(request_dict, operation)    def validation(self, request_dict, operation):        response = ResponseObject()        if operation is None:            return response.json(444, 'error path')        token = request_dict.get('token', None)        # 设备主键uid        tko = TokenObject(token)        tko.valid()        response.lang = tko.lang        if tko.code != 0:            return response.json(tko.code)        userID = tko.userID        own_perm = ModelService.check_permission(userID, 50)        if not own_perm:            return response.json(404)        if operation == 'add':            return self.do_add(request_dict, response)        elif operation == 'delete':            return self.do_delete(request_dict, response)        elif operation == 'update':            return self.do_update(request_dict, response)        elif operation == 'query':            return self.do_query(response)        else:            return response.json(414)    def do_add(self, request_dict, response):        request_dict.pop('token')        nowTime = int(time.time())        try:            VodBucketModel.objects.create(addTime=nowTime, updTime=nowTime, **request_dict)        except Exception as e:            return response.json(10, repr(e))        res = list(VodBucketModel.objects.values())        return response.json(0, res)    def do_query(self, response):        res = list(VodBucketModel.objects.values())        return response.json(0, res)    def do_update(self, request_dict, response):        request_dict.pop('token')        nowTime = int(time.time())        id = request_dict.get('id', None)        try:            VodBucketModel.objects.filter(id=id).update(updTime=nowTime, **request_dict)        except Exception as e:            return response.json(10, repr(e))        # res = list(VodBucketModel.objects.values())        return response.json(0, {'updTime': nowTime})    def do_delete(self, request, response):        id = request.get('id', None)        try:            VodBucketModel.objects.filter(id=id).delete()        except Exception as e:            return response.json(10, repr(e))        res = list(VodBucketModel.objects.values())        return response.json(0, res)
 |