|
@@ -0,0 +1,112 @@
|
|
|
+#!/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 datetime
|
|
|
+import json
|
|
|
+import time
|
|
|
+
|
|
|
+import oss2
|
|
|
+import paypalrestsdk
|
|
|
+from aliyunsdkcore import client
|
|
|
+from aliyunsdksts.request.v20150401 import AssumeRoleRequest
|
|
|
+from django.http import JsonResponse
|
|
|
+from django.utils import timezone
|
|
|
+from django.utils.decorators import method_decorator
|
|
|
+from django.views.decorators.csrf import csrf_exempt
|
|
|
+from django.views.generic.base import View
|
|
|
+import urllib
|
|
|
+from var_dump import var_dump
|
|
|
+from 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_DOMAIN
|
|
|
+from Model.models import Device_Meal, Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, VodBucketModel
|
|
|
+from Object.ResponseObject import ResponseObject
|
|
|
+from Object.TokenObject import TokenObject
|
|
|
+from Object.UidTokenObject import UidTokenObject
|
|
|
+from Service.CommonService import CommonService
|
|
|
+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
|
|
|
+ request_dict.pop('token')
|
|
|
+ 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):
|
|
|
+ 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):
|
|
|
+ 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, res)
|
|
|
+
|
|
|
+ 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)
|