|
@@ -44,8 +44,16 @@ class VoicePromptView(View):
|
|
return self.do_delete(token.userID, request_dict, response)
|
|
return self.do_delete(token.userID, request_dict, response)
|
|
elif operation == 'query':
|
|
elif operation == 'query':
|
|
return self.do_query(request_dict, response)
|
|
return self.do_query(request_dict, response)
|
|
|
|
+ elif operation == 'update':
|
|
|
|
+ return self.do_update(token.userID, request_dict, response)
|
|
elif operation == 'adminAdd':
|
|
elif operation == 'adminAdd':
|
|
- return self.do_admin_add(request_dict, response)
|
|
|
|
|
|
+ return self.do_admin_add(token.userID, request_dict, response)
|
|
|
|
+ elif operation == 'adminQuery':
|
|
|
|
+ return self.do_admin_query(token.userID, request_dict, response)
|
|
|
|
+ elif operation == 'adminUpdate':
|
|
|
|
+ return self.do_admin_update(token.userID, request_dict, response)
|
|
|
|
+ elif operation == 'adminDelete':
|
|
|
|
+ return self.do_admin_delete(token.userID, request_dict, response)
|
|
else:
|
|
else:
|
|
return response.json(404)
|
|
return response.json(404)
|
|
|
|
|
|
@@ -93,6 +101,25 @@ class VoicePromptView(View):
|
|
else:
|
|
else:
|
|
return response.json(444)
|
|
return response.json(444)
|
|
|
|
|
|
|
|
+ def do_update(self, userID, request_dict, response):
|
|
|
|
+ id = request_dict.get('id', None)
|
|
|
|
+ title = request_dict.get('title', None)
|
|
|
|
+
|
|
|
|
+ if id and title:
|
|
|
|
+ voice_qs = VoicePromptModel.objects.filter(id=id)
|
|
|
|
+ if voice_qs.exists():
|
|
|
|
+ uid = voice_qs[0].uid
|
|
|
|
+ device_qs = Device_Info.objects.filter(UID=uid, userID=userID)
|
|
|
|
+ if device_qs.exists():
|
|
|
|
+ voice_qs.update(title=title)
|
|
|
|
+ return response.json(0)
|
|
|
|
+ else:
|
|
|
|
+ return response.json(404)
|
|
|
|
+ else:
|
|
|
|
+ return response.json(173)
|
|
|
|
+ else:
|
|
|
|
+ return response.json(444)
|
|
|
|
+
|
|
def do_delete(self, userID, request_dict, response):
|
|
def do_delete(self, userID, request_dict, response):
|
|
id = request_dict.get('id', None)
|
|
id = request_dict.get('id', None)
|
|
if id:
|
|
if id:
|
|
@@ -119,7 +146,7 @@ class VoicePromptView(View):
|
|
|
|
|
|
if uid and channel and lang:
|
|
if uid and channel and lang:
|
|
voice_qs = VoicePromptModel.objects.filter(uid=uid, channel=channel, classification=1)
|
|
voice_qs = VoicePromptModel.objects.filter(uid=uid, channel=channel, classification=1)
|
|
- system_qs = VoicePromptModel.objects.filter(classification=0, language=lang)
|
|
|
|
|
|
+ system_qs = VoicePromptModel.objects.filter(classification=0, language=lang, status=1)
|
|
channel_qs = UidChannelSetModel.objects.filter(uid__uid=uid, channel=channel)
|
|
channel_qs = UidChannelSetModel.objects.filter(uid__uid=uid, channel=channel)
|
|
|
|
|
|
res = {
|
|
res = {
|
|
@@ -157,7 +184,7 @@ class VoicePromptView(View):
|
|
system_qs = system_qs.values('id', 'title', 'filename', 'type')
|
|
system_qs = system_qs.values('id', 'title', 'filename', 'type')
|
|
for system in system_qs:
|
|
for system in system_qs:
|
|
filename = system['filename']
|
|
filename = system['filename']
|
|
- obj = 'voice_prompt/' + uid + '/' + channel + '/' + filename
|
|
|
|
|
|
+ obj = 'voice_prompt/system/' + filename
|
|
url = bucket.sign_url('GET', obj, 3600)
|
|
url = bucket.sign_url('GET', obj, 3600)
|
|
system['url'] = url
|
|
system['url'] = url
|
|
del system['filename']
|
|
del system['filename']
|
|
@@ -199,16 +226,16 @@ class VoicePromptView(View):
|
|
else:
|
|
else:
|
|
return response.json(444)
|
|
return response.json(444)
|
|
|
|
|
|
- def do_admin_add(self, request_dict, response):
|
|
|
|
|
|
+ def do_admin_add(self, userID, request_dict, response):
|
|
|
|
+ own_perm = ModelService.check_perm(userID, 10)
|
|
|
|
+ if not own_perm:
|
|
|
|
+ return response.json(404)
|
|
|
|
+
|
|
filename = request_dict.get('filename', None)
|
|
filename = request_dict.get('filename', None)
|
|
title = request_dict.get('title', None)
|
|
title = request_dict.get('title', None)
|
|
type = request_dict.get('type', None)
|
|
type = request_dict.get('type', None)
|
|
lang = request_dict.get('lang', '')
|
|
lang = request_dict.get('lang', '')
|
|
|
|
|
|
- # own_perm = ModelService.check_perm(userID, 10)
|
|
|
|
- # if not own_perm:
|
|
|
|
- # return response.json(404)
|
|
|
|
-
|
|
|
|
if filename and title and type:
|
|
if filename and title and type:
|
|
voice_prompt = VoicePromptModel()
|
|
voice_prompt = VoicePromptModel()
|
|
voice_prompt.filename = filename
|
|
voice_prompt.filename = filename
|
|
@@ -217,7 +244,82 @@ class VoicePromptView(View):
|
|
voice_prompt.language = lang
|
|
voice_prompt.language = lang
|
|
voice_prompt.classification = 0
|
|
voice_prompt.classification = 0
|
|
voice_prompt.add_time = int(time.time())
|
|
voice_prompt.add_time = int(time.time())
|
|
|
|
+ voice_prompt.status = 0
|
|
voice_prompt.save()
|
|
voice_prompt.save()
|
|
return response.json(0)
|
|
return response.json(0)
|
|
else:
|
|
else:
|
|
- return response.json(444)
|
|
|
|
|
|
+ return response.json(444)
|
|
|
|
+
|
|
|
|
+ def do_admin_query(self, userID, request_dict, response):
|
|
|
|
+ # own_perm = ModelService.check_perm(userID, 10)
|
|
|
|
+ # if not own_perm:
|
|
|
|
+ # return response.json(404)
|
|
|
|
+
|
|
|
|
+ type = request_dict.get('type', 1)
|
|
|
|
+ page = request_dict.get('page', None)
|
|
|
|
+ line = request_dict.get('line', None)
|
|
|
|
+
|
|
|
|
+ if page is None or line is None:
|
|
|
|
+ return response.json(444)
|
|
|
|
+
|
|
|
|
+ voice_qs = VoicePromptModel.objects.filter(classification=0, type=type)
|
|
|
|
+ res = {
|
|
|
|
+ 'count': 0
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if voice_qs.exists():
|
|
|
|
+ page = int(page)
|
|
|
|
+ line = int(line)
|
|
|
|
+
|
|
|
|
+ start = (page - 1) * line
|
|
|
|
+ end = start + line
|
|
|
|
+ count = voice_qs.count()
|
|
|
|
+ res['count'] = count
|
|
|
|
+
|
|
|
|
+ voice_qs = voice_qs.values('id', 'title', 'type', 'language', 'status', 'filename')[start:end]
|
|
|
|
+
|
|
|
|
+ auth = oss2.Auth(OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET)
|
|
|
|
+ bucket = oss2.Bucket(auth, 'oss-cn-shenzhen.aliyuncs.com', 'ansjer-static-resources')
|
|
|
|
+
|
|
|
|
+ for item in voice_qs:
|
|
|
|
+ filename = item['filename']
|
|
|
|
+ obj = 'voice_prompt/system/' + filename
|
|
|
|
+ url = bucket.sign_url('GET', obj, 3600)
|
|
|
|
+ item['url'] = url
|
|
|
|
+ del item['filename']
|
|
|
|
+ res['data'] = list(voice_qs)
|
|
|
|
+ return response.json(0, res)
|
|
|
|
+ else:
|
|
|
|
+ res['data'] = []
|
|
|
|
+ return response.json(0, res)
|
|
|
|
+
|
|
|
|
+ def do_admin_update(self, userID, request_dict, response):
|
|
|
|
+ # own_perm = ModelService.check_perm(userID, 10)
|
|
|
|
+ # if not own_perm:
|
|
|
|
+ # return response.json(404)
|
|
|
|
+
|
|
|
|
+ id = request_dict.get('id', None)
|
|
|
|
+ status = request_dict.get('status', None)
|
|
|
|
+ title = request_dict.get('title', None)
|
|
|
|
+
|
|
|
|
+ if id and status and title:
|
|
|
|
+ VoicePromptModel.objects.filter(id=id, classification=0).update(status=status, title=title)
|
|
|
|
+ return response.json(0)
|
|
|
|
+ else:
|
|
|
|
+ return response.json(444)
|
|
|
|
+
|
|
|
|
+ def do_admin_delete(self, userID, request_dict, response):
|
|
|
|
+ # own_perm = ModelService.check_perm(userID, 10)
|
|
|
|
+ # if not own_perm:
|
|
|
|
+ # return response.json(404)
|
|
|
|
+
|
|
|
|
+ id = request_dict.get('id', None)
|
|
|
|
+ if id:
|
|
|
|
+ VoicePromptModel.objects.filter(id=id, classification=0).delete()
|
|
|
|
+ return response.json(0)
|
|
|
|
+ else:
|
|
|
|
+ return response.json(444)
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|