#!/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 json import time from django.utils.decorators import method_decorator from django.views.decorators.csrf import csrf_exempt from django.views.generic.base import View from Model.models import VodBucketModel from Object.ResponseObject import ResponseObject from Object.TokenObject import TokenObject from Service.ModelService import ModelService class 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_perm(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)