| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 | #!/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 datetimeimport jsonimport timeimport oss2import paypalrestsdkfrom aliyunsdkcore import clientfrom aliyunsdksts.request.v20150401 import AssumeRoleRequestfrom django.http import JsonResponsefrom django.utils import timezonefrom django.utils.decorators import method_decoratorfrom django.views.decorators.csrf import csrf_exemptfrom django.views.generic.base import Viewimport urllibfrom var_dump import var_dumpfrom Ansjer.config import OSS_BUCKET_ENDPOINT, OSS_BUCKET_VOD_LIST, OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, \    OSS_REGION_ID, OSS_ROLE_ARN, SERVER_DOMAINfrom Model.models import Device_Meal, Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, VodBucketModelfrom Object.ResponseObject import ResponseObjectfrom Object.TokenObject import TokenObjectfrom Object.UidTokenObject import UidTokenObjectfrom Service.CommonService import CommonServicefrom 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)
 |