Răsfoiți Sursa

516设备音频优化

linhaohong 5 luni în urmă
părinte
comite
e2330b33d7
2 a modificat fișierele cu 10 adăugiri și 0 ștergeri
  1. 9 0
      Controller/VoicePromptController.py
  2. 1 0
      Model/models.py

+ 9 - 0
Controller/VoicePromptController.py

@@ -3,6 +3,7 @@
 import time
 
 import oss2
+from django.db.models import Q
 from django.views import View
 
 from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET
@@ -187,6 +188,14 @@ class VoicePromptView(View):
             if not system_qs.exists() and lang != 'en':
                 system_qs = VoicePromptModel.objects.filter(classification=0, language='en', status=1,
                                                             algorithm_type=algorithm_type)
+            if lang == 'cn' and algorithm_type == 10:
+                device_type = Device_Info.objects.filter(UID=uid).values('Type').first()['Type']
+                system_new_qs = system_qs.filter(Q(device_types__contains=[device_type]))
+                if system_new_qs.exists():
+                    system_qs = system_new_qs
+                else:
+                    system_qs = system_qs.filter(Q(device_types=[]))
+
             channel_qs = UidChannelSetModel.objects.filter(uid__uid=uid, channel=channel,
                                                            algorithm_type=algorithm_type)
 

+ 1 - 0
Model/models.py

@@ -2832,6 +2832,7 @@ class VoicePromptModel(models.Model):
     algorithm_type = models.SmallIntegerField(default=99, verbose_name='关联算法类型')
     channel = models.IntegerField(default=0, verbose_name='通道号')
     status = models.SmallIntegerField(default=1, verbose_name='是否启用。0:不启用,1:启用')
+    device_types = models.JSONField(default=list, verbose_name='设备类型列表(整数数组)')
 
     class Meta:
         db_table = 'voice_prompt'