|
@@ -46,6 +46,8 @@ class VoicePromptView(View):
|
|
|
return self.do_query(request_dict, response)
|
|
|
elif operation == 'update':
|
|
|
return self.do_update(token.userID, request_dict, response)
|
|
|
+ elif operation == 'adminGetUploadUrl':
|
|
|
+ return self.admin_get_upload_url(token.userID, request_dict, response)
|
|
|
elif operation == 'adminAdd':
|
|
|
return self.do_admin_add(token.userID, request_dict, response)
|
|
|
elif operation == 'adminQuery':
|
|
@@ -61,9 +63,10 @@ class VoicePromptView(View):
|
|
|
upload_type = request_dict.get('upload_type', None)
|
|
|
uid = request_dict.get('uid', None)
|
|
|
channel = request_dict.get('channel', None)
|
|
|
+ type = request_dict.get('type', None)
|
|
|
|
|
|
if upload_type and uid and channel:
|
|
|
- count = VoicePromptModel.objects.filter(uid=uid, channel=channel).count()
|
|
|
+ count = VoicePromptModel.objects.filter(uid=uid, channel=channel, type=type).count()
|
|
|
if count >= 3:
|
|
|
return response.json(201)
|
|
|
|
|
@@ -226,6 +229,25 @@ class VoicePromptView(View):
|
|
|
else:
|
|
|
return response.json(444)
|
|
|
|
|
|
+ def admin_get_upload_url(self, userID, request_dict, response):
|
|
|
+ own_perm = ModelService.check_perm(userID, 10)
|
|
|
+ if not own_perm:
|
|
|
+ return response.json(404)
|
|
|
+
|
|
|
+ upload_type = request_dict.get('upload_type', None)
|
|
|
+
|
|
|
+ if upload_type:
|
|
|
+ auth = oss2.Auth(OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET)
|
|
|
+ bucket = oss2.Bucket(auth, 'oss-cn-shenzhen.aliyuncs.com', 'ansjer-static-resources')
|
|
|
+ name = CommonService.createOrderID()
|
|
|
+ filename = str(name) + '.' + upload_type
|
|
|
+ obj = 'voice_prompt/system/' + filename
|
|
|
+
|
|
|
+ url = bucket.sign_url('PUT', obj, 7200)
|
|
|
+ return response.json(0, {'put_url': url, 'filename': filename})
|
|
|
+ else:
|
|
|
+ return response.json(444)
|
|
|
+
|
|
|
def do_admin_add(self, userID, request_dict, response):
|
|
|
own_perm = ModelService.check_perm(userID, 10)
|
|
|
if not own_perm:
|